/* Origins v273 — campaign layer. The four existing site themes remain active. */
body[data-origins-campaign="retour273"] { --or-cream:#f4ede0; --or-muted:#b9b7b3; --or-rule:rgba(var(--accent-rgb),.24); --or-font:Georgia,'Times New Roman',serif; }
body[data-origins-campaign="retour273"] main { overflow:clip; }
.or-wrap { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.or-skip { position:fixed; left:16px; top:8px; transform:translateY(-160%); z-index:100; padding:10px 18px; background:var(--accent); color:#14100b; }
.or-skip:focus { transform:none; }
.or-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.or-eyebrow { display:block; color:var(--accent); text-transform:uppercase; letter-spacing:2.1px; font-size:10px; line-height:1.7; font-weight:650; margin:0 0 17px; }
.or-diamond { display:inline-block; width:5px; height:5px; margin-right:10px; background:var(--accent); transform:rotate(45deg); vertical-align:2px; }
.or-hero { position:relative; isolation:isolate; min-height:635px; display:flex; flex-direction:column; justify-content:center; background:var(--scene) center 47%/cover no-repeat; border-bottom:1px solid var(--or-rule); }
.or-hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(7,9,12,.91),rgba(7,9,12,.62) 43%,rgba(7,9,12,.04) 77%),linear-gradient(0deg,var(--page-bg),transparent 38%); }
.or-hero-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:30px; align-items:end; padding-block:80px 92px; }
.or-hero-copy h1 { font:400 clamp(42px,5.5vw,76px)/1.07 var(--or-font); letter-spacing:-2.4px; margin:0 0 25px; color:var(--or-cream); text-shadow:0 6px 32px #0007; }
.or-hero-copy h1 em { font-style:normal; color:var(--accent); }
.or-hero-copy>p { max-width:490px; color:#d1c8ba; font-size:15px; line-height:1.85; margin:0 0 28px; }
.or-hero-copy strong { color:var(--or-cream); font-weight:500; }
.or-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.or-button { display:inline-flex; gap:22px; align-items:center; justify-content:center; min-height:49px; padding:13px 24px; border:1px solid var(--accent); color:#16110a!important; background:linear-gradient(130deg,#f0d498,var(--accent) 55%,var(--accent-dark)); border-radius:3px; text-decoration:none; font-size:12px; font-weight:700; letter-spacing:.2px; line-height:1.4; box-shadow:0 5px 24px #0003; transition:transform .18s,box-shadow .18s,border-color .18s; }
.or-button:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(var(--accent-rgb),.22); }
.or-button-ghost { color:var(--or-cream)!important; border-color:rgba(var(--accent-rgb),.42); background:rgba(9,11,15,.65); box-shadow:none; }
.or-button-ghost:hover { border-color:var(--accent); }
.or-hero-copy .or-hero-note { margin-top:18px; margin-bottom:0; color:#b7b1a9; font-size:12px; }
.or-hero-note a { color:var(--or-cream); text-underline-offset:4px; }
.or-hero-seal { justify-self:end; max-width:200px; text-align:center; color:#ecdec7; padding:14px 0 22px; border-block:1px solid #e6c48a70; text-shadow:0 2px 12px #000; margin-bottom:1px; }
.or-hero-seal span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:2.3px; }
.or-hero-seal strong { display:block; font:italic 32px/1.4 var(--or-font); color:#f9e5b5; }
.or-hero-foot { position:absolute; bottom:25px; left:50%; transform:translateX(-50%); display:flex; justify-content:space-between; gap:24px; font-size:10px; letter-spacing:.65px; color:#aaa39a; }
.or-hero-foot a { color:var(--accent); text-decoration:none; display:flex; gap:18px; align-items:center; }
.or-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--or-rule); padding-block:29px; }
.or-pillars>div { display:flex; gap:18px; align-items:center; padding-inline:26px; border-right:1px solid var(--or-rule); }
.or-pillars>div:first-child { padding-left:0; }
.or-pillars>div:last-child { border-right:0; padding-right:0; }
.or-pillar-number { font:italic 25px var(--or-font); color:var(--accent); opacity:.65; }
.or-pillars strong { display:block; color:var(--or-cream); font-size:12px; font-weight:600; }
.or-pillars div div>span { color:var(--or-muted); font-size:11px; line-height:1.6; display:block; margin-top:4px; }
.or-discover { padding-block:85px 75px; }
.or-section-heading { display:flex; gap:45px; justify-content:space-between; align-items:flex-end; margin-bottom:34px; }
.or-section-heading>p { max-width:430px; color:var(--or-muted); font-size:13px; line-height:1.85; margin:0 0 4px; }
body[data-origins-campaign="retour273"] main h2 { margin:0; font:400 clamp(29px,3.2vw,44px)/1.18 var(--or-font); letter-spacing:-.9px; color:var(--or-cream); }
body[data-origins-campaign="retour273"] main h2 em { font-style:normal; color:var(--accent); }
.or-spotlights { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.or-spotlight { position:relative; padding:34px 38px; min-width:0; border:1px solid var(--or-rule); border-radius:4px; background:radial-gradient(ellipse at 100% 0,rgba(var(--accent-rgb),.1),transparent 64%),linear-gradient(120deg,var(--panel),var(--page-bg)); }
.or-spotlight-1 { background:radial-gradient(ellipse at 100% 100%,rgba(var(--secondary-rgb),.1),transparent 64%),linear-gradient(120deg,var(--panel),var(--page-bg)); }
.or-feature-icon { display:inline-flex; align-items:center; justify-content:center; flex:none; width:42px; height:42px; background:rgba(var(--accent-rgb),.07); border:1px solid var(--or-rule); border-radius:50%; }
.or-feature-icon img { width:28px; height:28px; object-fit:contain; }
.or-spotlight>.or-feature-icon { position:absolute; top:29px; right:32px; }
.or-spotlight>.or-eyebrow { padding-right:50px; font-size:9px; letter-spacing:1.4px; margin-bottom:25px; }
.or-spotlight h3 { font:400 29px/1.18 var(--or-font); letter-spacing:-.6px; max-width:320px; color:var(--or-cream); margin:0 0 14px; }
.or-spotlight>p { max-width:410px; margin:0 0 22px; font-size:13px; line-height:1.85; color:var(--or-muted); }
.or-text-link { display:inline-flex; align-items:center; gap:12px; color:var(--accent); font-size:11px; line-height:1.7; text-decoration:none; text-underline-offset:5px; }
.or-text-link:hover { text-decoration:underline; }
.or-essentials { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:24px; border-block:1px solid var(--or-rule); }
.or-essential { padding:28px 22px 32px; color:var(--or-cream); text-decoration:none; border-right:1px solid var(--or-rule); position:relative; min-width:0; transition:background .18s; }
.or-essential:first-child { padding-left:0; }
.or-essential:last-child { border-right:0; padding-right:0; }
.or-essential:hover { background:rgba(var(--accent-rgb),.035); }
.or-essential .or-feature-icon { margin-bottom:20px; width:35px; height:35px; border:0; background:none; justify-content:flex-start; }
.or-essential-label { display:block; font-size:10px; color:var(--accent); margin-bottom:10px; }
.or-essential h3 { font:400 23px/1.25 var(--or-font); margin:0 0 12px; color:var(--or-cream); }
.or-essential p { margin:0; font-size:12px; color:var(--or-muted); line-height:1.8; }
.or-card-arrow { position:absolute; top:35px; right:22px; color:var(--accent); font-size:18px; }
.or-return { display:grid; grid-template-columns:1fr 1.2fr; gap:90px; padding-block:28px 90px; }
.or-return-intro { padding-top:18px; }
.or-return-intro>p { font-size:13px; line-height:1.85; color:var(--or-muted); max-width:360px; margin:24px 0; }
.or-steps { list-style:none; margin:0; padding:0; }
.or-steps li { display:flex; align-items:flex-start; gap:28px; padding:23px 0; border-bottom:1px solid var(--or-rule); }
.or-steps li:first-child { border-top:1px solid var(--or-rule); }
.or-step-number { color:var(--accent); font:italic 31px/1.15 var(--or-font); opacity:.68; min-width:38px; }
.or-steps h3 { color:var(--or-cream); font:400 23px/1.2 var(--or-font); margin:0 0 8px; }
.or-steps p { color:var(--or-muted); font-size:12px; line-height:1.7; margin:0 0 9px; }
.or-steps a { display:inline-flex; align-items:center; gap:10px; color:var(--accent); text-decoration:none; font-size:11px; }
.or-steps a:hover { text-decoration:underline; text-underline-offset:4px; }
.or-community { padding:52px 55px; position:relative; isolation:isolate; border:1px solid rgba(var(--accent-rgb),.4); border-radius:4px; background:#1b140c url('../img/site/retour273/origins-campagne.webp') center/cover no-repeat; }
.or-community::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(8,9,12,.95),rgba(8,9,12,.87) 47%,rgba(8,9,12,.12)); }
.or-community-copy { max-width:610px; }
.or-community-copy>p { max-width:480px; color:#cfc5b9; font-size:13px; line-height:1.85; margin:22px 0; }
.or-community .or-eyebrow { font-size:9px; letter-spacing:1.7px; }
.or-live { padding-block:85px 60px; }
.or-live-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.or-live-card { min-width:0; padding:28px 28px 25px; background:linear-gradient(150deg,rgba(var(--accent-rgb),.04),var(--panel)); border-top:1px solid var(--or-rule); }
.or-live-card h3 { margin:0 0 18px; font:400 26px/1.2 var(--or-font); color:var(--or-cream); }
.or-live-card>.or-eyebrow { font-size:9px; letter-spacing:1.3px; }
.or-live-card>p { font-size:12px; color:var(--or-muted); line-height:1.85; margin:0 0 24px; }
.or-live-card>.or-text-link { margin-top:18px; }
.or-ranking { width:100%; font-size:12px; border-collapse:collapse; }
.or-ranking td,.or-ranking th { padding:8px 0; border-bottom:1px solid rgba(255,255,255,.055); text-align:left; }
.or-ranking th { font-weight:400; color:var(--or-cream); overflow-wrap:anywhere; }
.or-ranking td:first-child { color:var(--accent); width:30px; }
.or-ranking td:last-child { color:var(--or-muted); text-align:right; white-space:nowrap; padding-left:10px; }
.or-live-links a { display:flex; justify-content:space-between; gap:15px; padding:12px 0; border-top:1px solid var(--or-rule); text-decoration:none; font-size:11px; }
.or-real-stats { display:flex; justify-content:space-around; margin:32px 0 0; border-bottom:1px solid var(--or-rule); padding:0 0 24px; gap:18px; text-align:center; }
.or-real-stats>div { display:flex; flex-direction:column-reverse; gap:4px; }
.or-real-stats dt { color:var(--or-muted); font-size:10px; }
.or-real-stats dd { color:var(--accent); font:400 26px var(--or-font); margin:0; }
.or-faq { display:grid; grid-template-columns:1fr 1.45fr; gap:70px; padding-block:20px 75px; }
.or-faq-list { border-top:1px solid var(--or-rule); }
.or-faq details { border-bottom:1px solid var(--or-rule); }
.or-faq summary { cursor:pointer; color:var(--or-cream); font-size:13px; line-height:1.6; padding:18px 32px 18px 0; list-style:none; position:relative; }
.or-faq summary::-webkit-details-marker { display:none; }
.or-faq summary::after { content:'+'; position:absolute; right:4px; top:17px; color:var(--accent); font-size:20px; font-weight:300; }
.or-faq details[open] summary::after { content:'−'; }
.or-faq details p { color:var(--or-muted); line-height:1.8; font-size:12px; margin:0; padding:0 24px 20px 0; }
.or-faq a { text-underline-offset:3px; }
.or-closing { text-align:center; padding:55px 0 65px; border-top:1px solid var(--or-rule); }
body[data-origins-campaign="retour273"] .or-closing h2 { font-size:clamp(42px,5vw,65px); }
.or-closing .or-actions { justify-content:center; margin-top:28px; }
body[data-origins-campaign="retour273"] .os-footer { margin-top:0; }
.or-mobile-actions { display:none; }
.or-hero-presentation { min-height:510px; }
.or-hero-presentation .or-hero-layout { padding-block:70px; }
.or-intro { max-width:800px; padding-block:70px 35px; text-align:center; }
.or-intro>p { max-width:600px; margin:23px auto 0; font-size:14px; line-height:1.9; color:var(--or-muted); }
.or-system-nav { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; padding-bottom:28px; }
.or-system-nav a { padding:9px 13px; border:1px solid var(--or-rule); border-radius:3px; font-size:11px; text-decoration:none; color:var(--or-cream); }
.or-system-nav a:hover { border-color:var(--accent); color:var(--accent); }
.or-system-details { padding-block:5px 30px; }
.or-system-detail { display:grid; grid-template-columns:95px minmax(0,1fr) 175px; align-items:start; gap:35px; padding:38px 0; border-top:1px solid var(--or-rule); scroll-margin-top:120px; }
.or-system-index { display:flex; align-items:center; gap:17px; }
.or-system-index>span:first-child { font:italic 26px var(--or-font); color:var(--accent); opacity:.7; }
.or-system-detail .or-eyebrow { margin-bottom:10px; font-size:9px; }
body[data-origins-campaign="retour273"] .or-system-detail h2 { font-size:31px; }
.or-system-detail p { color:var(--or-muted); font-size:13px; line-height:1.85; margin:15px 0 0; max-width:650px; }
.or-system-note { font-size:10px; letter-spacing:.5px; text-align:right; color:var(--accent); padding-top:8px; }
.or-discovery-note { margin-block:0 65px; padding:40px; border-block:1px solid var(--or-rule); background:linear-gradient(100deg,rgba(var(--accent-rgb),.045),transparent); }
.or-discovery-note p { max-width:600px; color:var(--or-muted); font-size:13px; line-height:1.9; margin:22px 0; }
@media(min-width:1600px) { .or-hero { background-position:center 45%; min-height:690px; } }
@media(max-width:1100px) {
 .or-hero-layout { grid-template-columns:minmax(0,1fr) 200px; }
 .or-return { gap:50px; }
 .or-live-grid { gap:16px; }
 .or-live-card { padding:24px 20px; }
 .or-pillars>div { padding-inline:16px; }
 .or-pillars strong { font-size:11px; }
 .or-system-detail { grid-template-columns:90px minmax(0,1fr); }
 .or-system-note { grid-column:2; text-align:left; padding:0; }
}
@media(max-width:800px) {
 .or-wrap { width:calc(100% - 40px); }
 .or-hero { min-height:580px; background-position:64% center; }
 .or-hero::before { background:linear-gradient(90deg,rgba(7,9,12,.91),rgba(7,9,12,.7) 65%,rgba(7,9,12,.37)),linear-gradient(0deg,var(--page-bg),transparent 60%); }
 .or-hero-layout { display:block; padding-block:64px 92px; }
 .or-hero-copy { max-width:590px; }
 .or-hero-copy h1 { font-size:58px; }
 .or-hero-seal { display:none; }
 .or-pillars { padding-block:22px; }
 .or-pillar-number { display:none; }
 .or-section-heading { gap:25px; }
 .or-section-heading>p { max-width:310px; font-size:12px; }
 .or-spotlight { padding:28px; }
 .or-spotlight>.or-feature-icon { right:20px; top:23px; }
 .or-spotlight h3 { font-size:26px; }
 .or-essentials { grid-template-columns:1fr 1fr; }
 .or-essential:nth-child(2) { border-right:0; }
 .or-essential:nth-child(3) { padding-left:0; border-top:1px solid var(--or-rule); }
 .or-essential:nth-child(4) { border-top:1px solid var(--or-rule); padding-right:22px; }
 .or-return { grid-template-columns:1fr; gap:28px; }
 .or-return-intro>p { max-width:540px; }
 .or-live-grid { grid-template-columns:1fr; }
 .or-live-card { padding:28px; }
 .or-live-card>p { max-width:580px; }
 .or-community { padding:40px 30px; }
 .or-community::before { background:linear-gradient(90deg,rgba(8,9,12,.94),rgba(8,9,12,.88) 50%,rgba(8,9,12,.55)); }
 .or-faq { grid-template-columns:1fr; gap:25px; }
 .or-system-detail { gap:24px; }
}
@media(max-width:540px) {
 body[data-origins-campaign="retour273"] { padding-bottom:78px!important; }
 .or-wrap { width:calc(100% - 32px); }
 .or-hero { min-height:590px; }
 .or-hero-layout { padding-block:58px 100px; }
 .or-hero-copy h1 { font-size:clamp(38px,9.8vw,52px); letter-spacing:-1.4px; }
 .or-hero-copy>p { font-size:14px; }
 .or-eyebrow { font-size:9px; letter-spacing:1.6px; }
 .or-actions { gap:10px; }
 .or-hero .or-actions .or-button { width:100%; }
 .or-button { font-size:12px; padding-inline:18px; min-height:48px; }
 .or-hero-foot { bottom:20px; font-size:9px; align-items:center; }
 .or-hero-foot>span { max-width:180px; }
 .or-hero-foot a { gap:8px; flex-shrink:0; }
 .or-pillars { grid-template-columns:1fr; padding-block:7px; }
 .or-pillars>div,.or-pillars>div:first-child,.or-pillars>div:last-child { padding:16px 0; border-right:0; border-bottom:1px solid var(--or-rule); gap:17px; }
 .or-pillars>div:last-child { border-bottom:0; }
 .or-pillar-number { display:block; font-size:23px; min-width:28px; }
 .or-pillars strong { font-size:12px; }
 .or-discover { padding-block:50px; }
 .or-section-heading { display:block; }
 .or-section-heading>p { max-width:none; margin-top:18px; font-size:13px; }
 .or-section-heading>.or-text-link { margin-top:18px; }
 .or-spotlights { grid-template-columns:1fr; gap:14px; }
 .or-spotlight { padding:27px 24px; }
 .or-spotlight h3 { max-width:270px; font-size:27px; }
 .or-essentials { gap:0; }
 .or-essential,.or-essential:first-child,.or-essential:nth-child(3) { padding:24px 14px 25px 0; }
 .or-essential:nth-child(even) { padding-left:16px; padding-right:0; }
 .or-essential h3 { font-size:22px; }
 .or-essential p { font-size:11px; line-height:1.8; }
 .or-card-arrow { top:31px; right:16px; }
 .or-essential:nth-child(even) .or-card-arrow { right:2px; }
 .or-return { padding-block:12px 52px; gap:24px; }
 .or-steps li { gap:16px; }
 .or-steps h3 { font-size:22px; }
 .or-step-number { font-size:27px; min-width:30px; }
 .or-community { padding:36px 23px; background-position:65% center; }
 .or-community .or-eyebrow { max-width:250px; font-size:8px; }
 .or-community-copy>p { font-size:12px; }
 .or-community .or-button { width:100%; gap:12px; }
 .or-live { padding-block:52px 45px; }
 .or-live-card { padding:26px 23px; }
 .or-real-stats { flex-wrap:wrap; gap:20px 24px; }
 .or-faq { padding-block:5px 50px; }
 .or-closing { padding-block:40px 45px; }
 .or-closing .or-actions { flex-direction:column; }
 .or-closing .or-button { width:min(100%,300px); }
 .or-mobile-actions { display:flex; position:fixed; bottom:0; inset-inline:0; z-index:30; align-items:center; gap:16px; padding:10px 16px max(10px,env(safe-area-inset-bottom)); background:rgba(11,12,16,.97); border-top:1px solid var(--or-rule); backdrop-filter:blur(14px); }
 .or-mobile-actions .or-button { flex:1; min-height:44px; padding:10px 12px; }
 .or-mobile-actions>a:last-child { color:var(--or-cream); font-size:12px; text-decoration:none; min-height:44px; display:flex; align-items:center; padding:8px; }
 .or-hero-presentation { min-height:470px; }
 .or-hero-presentation .or-hero-layout { padding-block:48px; }
 .or-intro { padding-block:45px 25px; }
 .or-intro>p { font-size:13px; }
 .or-system-nav { justify-content:flex-start; gap:7px; }
 .or-system-nav a { font-size:10px; padding:9px 10px; }
 .or-system-detail { grid-template-columns:1fr; gap:15px; padding-block:28px; scroll-margin-top:105px; }
 .or-system-index { gap:15px; }
 .or-system-index .or-feature-icon { width:35px; height:35px; }
 .or-system-note { grid-column:1; }
 body[data-origins-campaign="retour273"] .or-system-detail h2 { font-size:28px; }
 .or-discovery-note { padding:28px 20px; margin-bottom:40px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .or-button { transition:none; }
 .or-button:hover { transform:none; }
}
