:root{--ink:#f5eee7;--paper:#0b1423;--yellow:#f1c88e;--muted:#b8b9c2;--line:#39404c;--copper:#d58a57;--champagne:#f1c88e;color-scheme:dark}
body{background:radial-gradient(ellipse at 90% 5%,#56332233,transparent 35%),#0b1423;color:var(--ink)}
header{background:#0b1423;border-bottom:1px solid #d58a5733}.brand{align-items:center;letter-spacing:-1.7px;white-space:nowrap}.brand img{width:62px;height:62px;object-fit:contain;margin-right:9px}.brand-dot,footer .brand-dot{color:var(--champagne)}
.button,.editorial-hero .button,.pack-teaser .button,.plan.featured .button{background:linear-gradient(115deg,#f5d7a6,#d99561);color:#20140e;border:1px solid #f2c38b;box-shadow:0 0 18px #d58a5717}
.button:hover,.featured .button:hover{background:linear-gradient(115deg,#ffe6c0,#edb07a);color:#20140e;box-shadow:0 0 24px #d58a5740}
.launch-banner{background:#1c202a;border-color:#d58a5733;color:var(--champagne)}.launch-banner span{color:#d2c8bc}
.mega{background:#141f30;border-color:#b97c4b;box-shadow:0 20px 65px #0008}.mega>a:hover{background:#573721;color:#fff}.mega span{color:#c8c3bd}
.editorial-hero,.page-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 85% 5%,#92572f30,transparent 50%),linear-gradient(130deg,#111e32,#0a1321 70%);color:var(--ink);border-bottom:1px solid #ca88565c}
.editorial-hero:before,.page-hero:before{content:'';position:absolute;z-index:-1;width:520px;height:520px;border:1px solid #e6b27a;border-radius:50%;right:-300px;top:-330px;box-shadow:0 0 15px #d58a5740;pointer-events:none}
.editorial-hero:after{content:'';position:absolute;z-index:-1;right:-100px;bottom:-260px;width:500px;height:500px;border:1px solid #bc7c48;border-radius:50%;box-shadow:0 0 20px #c9894d25;pointer-events:none}
.hero-heading .eyebrow{color:#e6c5a0}.editorial-hero .hero-final{color:#f2cd9a}.editorial-hero .hero-copy>p:first-child{color:#eee5dc}.editorial-hero .micro{color:#beb9b7}.hero-image-strip{border:1px solid #d99a66;box-shadow:0 0 22px #cf8b5324}.hero-image-strip:after{background:linear-gradient(transparent,#091322ed)}.hero-price{background:linear-gradient(120deg,#f2d2a2,#d99561);color:#21160e}
.audience{color:#f1e9df;background:#101a2a}.audience i{color:var(--copper)}.eyebrow{color:var(--champagne)}
.category-grid{gap:20px}.category-card,.category-card:nth-child(-n+2){background:linear-gradient(130deg,#58372266,#152033 75%);border:1px solid #a77046;border-radius:16px;padding:26px;margin-bottom:0;min-height:205px;box-shadow:inset 0 1px 0 #edc79235,0 0 14px #bc794612}
.category-card:nth-child(-n+2) h3,.category-card h3{font-size:25px}.category-card:hover{border-color:#f4d4a6;box-shadow:0 0 22px #d79a6133;transform:translateY(-3px)}.category-card .icon,.category-card:nth-child(-n+2) .icon,.category-card:nth-child(3n+2) .icon,.category-card:nth-child(3n) .icon{background:#4b3026;color:#ffe0ac;border:1px solid #c39361}.category-bottom strong{color:#f7d6a4}.category-bottom>span:last-child{color:#efbc84}
.pack-teaser{background:radial-gradient(ellipse at top left,#56351f66,transparent 65%),#101c2e;border:1px solid #ae774b;color:var(--ink)}.pack-teaser>div:first-child>p:not(.eyebrow){color:#c9c2bd}.pack-teaser>div:last-child{background:linear-gradient(125deg,#37291f,#172131);color:var(--ink);border:1px solid #d39962;transform:none;box-shadow:0 0 28px #bc7c4826}.pack-teaser>div:last-child .eyebrow,.teaser-price{color:#f4cf99}
.approach h2 span{color:#dfb384}.steps li{border-color:var(--line)}.steps li>span{background:#34261f;color:#f7d5a0;border:1px solid #a7744f}
.plan,.plan.featured{background:#131e30;border:1px solid #51505a;color:var(--ink)}.plan.featured{background:linear-gradient(110deg,#463023,#362b29);border-color:#e1ad74;box-shadow:0 0 28px #c58a5225}.featured .plan-description,.featured .billing,.featured .exclusions{color:#c9c0ba}.featured .plan-label,.featured .exclusions{border-color:#6d5542}.plan li:before{color:#edbf89}.exclusions strong{color:#eee5db}.price{color:#f4cf99}
.pricing-note,.contact-status,.commitments .service{background:#192437;border:1px solid #66503d}.next-step{background:linear-gradient(120deg,#3e2c22,#172235);border:1px solid #ad774e}.next-step p{color:#c8c2bf}
.contact-layout .project-panel,.project-panel{background:#141f31;border-color:#806043}.contact-layout input,.contact-layout select,.contact-layout textarea,.activity,textarea{background:#0b1423;color:#f5eee7;border-color:#6c615a}.contact-layout input:focus,.contact-layout select:focus,.contact-layout textarea:focus{border-color:#f1c88e}#selected-price:not(:empty){background:#443022;color:#f7dec0}.text-button{color:#f1c88e}.choices label{background:#192437}.choices label:has(input:checked){background:#473323;border-color:#e1b47e}
footer{background:#080f1b;border-top:1px solid #9e6b4455}.footer-wordmark{color:#dba774;border-color:#60462f}footer p,footer>span{color:#bdb5ad}::selection{background:#f1c88e;color:#17120e}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #f2c88e}.skip{background:#f1c88e;color:#19130e}
@media(max-width:760px){.brand img{width:49px;height:49px}.category-card,.category-card:nth-child(-n+2){padding:22px 17px;min-height:210px}.category-card h3,.category-card:nth-child(-n+2) h3{font-size:22px}.mega{top:100%;max-height:65vh}.pack-teaser{margin:0 12px}.plan.featured{transform:none}}
@media(max-width:430px){.brand{font-size:32px}.category-grid{gap:16px}.category-card,.category-card:nth-child(-n+2){min-height:185px}.editorial-hero h1{font-size:clamp(35px,10vw,43px)}nav{gap:7px}.button.small{gap:8px}.hero-image-caption strong{font-size:19px}.hero-image-caption span{font-size:8px}}

/* Shared moving outline; positioned in the header to preserve the mega-menu anchor. */
header nav{gap:12px}
header nav>a:not(.button),header .service-menu summary{padding:12px 17px;border-radius:999px;white-space:nowrap}
header .service-menu summary::after{content:none}
.nav-hover-outline{position:absolute;left:0;top:0;pointer-events:none;border:1px solid #e2b17b;border-radius:999px;background:#d58a570a;box-shadow:0 0 14px #d58a571a;opacity:0;transition:transform .25s cubic-bezier(.22,.7,.3,1),width .25s,height .25s,opacity .15s}
.nav-hover-outline.is-visible{opacity:1}
.nav-hover-outline.is-initial{transition:none}
@media(max-width:760px){header nav{gap:4px}header nav>a:not(.button),header .service-menu summary{padding:10px 9px}}
@media(max-width:380px){header nav>a:not(.button),header .service-menu summary{padding:10px 6px}}
@media(prefers-reduced-motion:reduce){.nav-hover-outline{transition:none}}

/* Justify long prose only, with French hyphenation. Small screens stay left-aligned. */
@media(min-width:761px){.approach>div>p:last-child,.contact-layout>div>p,.faq details p,.single-faq p,.legal-copy p{ text-align:justify;text-justify:inter-word;hyphens:auto;overflow-wrap:break-word}}
.legal-copy{max-width:920px}.legal-copy h2{font-size:28px;margin:32px 0 16px}.legal-copy p{color:var(--muted);line-height:1.8}.legal-copy a,.local-note a{text-decoration:underline;text-underline-offset:3px}.contact-status a{display:inline-block;margin:5px 0;color:var(--champagne);overflow-wrap:anywhere}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#send-status{margin:15px 0;font-size:14px}.project-panel>.text-button{display:block;margin-top:14px}.button:disabled{opacity:.65;cursor:wait}.summary-actions{flex-wrap:wrap}
