/* Presentation layer: official local assets, no external services. */
@font-face {font-family:Poppins;src:url('../fonts/poppins-400-latin.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face {font-family:Poppins;src:url('../fonts/poppins-600-latin.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face {font-family:Poppins;src:url('../fonts/poppins-700-latin.woff2') format('woff2');font-weight:700;font-display:swap}
:root {--ink:#25212b;--muted:#69636a;--gold:#bea16a;--cream:#f6f2ec;--line:#e6e0db;--green:#842b48;font-family:Poppins,Arial,sans-serif;background:#fffefa}
body {font-size:15px;line-height:1.85}
h1,h2,h3 {font-weight:600}
h2 {font-size:clamp(30px,3vw,43px);line-height:1.22;letter-spacing:-.045em;text-wrap:balance}
h3 {line-height:1.35;letter-spacing:-.03em;text-wrap:balance}
.section {padding-inline:max(6vw,calc((100vw - 1320px)/2));padding-block:84px}
.section :is(.duo,.split,.phases,.plans,.screens,.steps)>* {min-width:0}
.section :is(h2,h3,p,li),footer {overflow-wrap:break-word}
.section>p:last-child,.panel>p:last-child {margin-bottom:0}
.header {background:#fffefbf5;backdrop-filter:blur(18px);padding-block:20px;border-bottom:1px solid #eee8e1}
.header nav {font-size:12px;gap:25px}
.header nav a:hover,.text-link:hover {color:#842b48}
.brand>img {width:170px;max-height:42px}
.brand .brand-endorsement {display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:0}
.brand .brand-endorsement img {width:57px;height:auto}
.button {background:#842b48;border-color:#842b48;padding:17px 24px;border-radius:9px;box-shadow:0 5px 12px #842b4813;font-size:13px}
.button:hover {background:#642037;border-color:#642037}
.button span {font-size:21px;font-weight:400}
.button-back {background:#f7f1e9;border-color:#dbcab6;color:#842b48;padding:12px 18px;font-size:12px;box-shadow:none}
.button-back:hover {background:#efe3d3;border-color:#bea16a;color:#642037}
.header .button {font-size:11px;padding:13px 18px}
.language {font-size:11px}
.hero {position:relative;grid-template-columns:1fr 1.05fr;gap:5vw;padding-block:76px 82px;background:radial-gradient(ellipse at 88% 25%,#eadcd382,transparent 55%),linear-gradient(110deg,#fffefa 25%,#f4eee6)}
.hero-copy,.hero-media {min-width:0}
.hero h1 {font-size:clamp(39px,4vw,61px);line-height:1.16;letter-spacing:-.055em;margin-bottom:26px}
.hero h1 span {color:#842b48}
.hero .lead {font-size:15px;line-height:1.95;max-width:610px}
.eyebrow {color:#826438;letter-spacing:.15em;font-size:10px;font-weight:600}
.hero .eyebrow {display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.12em}
.eyebrow-line {width:24px;height:1px;background:#aa8851;flex-shrink:0}
.hero .actions {gap:17px;margin-top:28px}
.hero .text-link {font-size:11px;text-decoration:none;border-bottom:1px solid #b9aba1}
.hero-reassurance {font-size:10px;color:#766a5c}
.hero-reassurance span {display:inline-block;color:#842b48;margin-right:6px}
.hero-media {position:relative;padding:22px 0 26px}
.film-card {position:relative;margin:0;background:#fff;border:1px solid #e5dcd2;border-radius:16px;overflow:hidden;box-shadow:0 26px 60px #4335261c}
.film-heading {display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px 23px;color:#6d555e;font-size:9px;letter-spacing:.15em}
.film-heading>span:first-child {font-weight:600;color:#842b48}
.film-heading>span:last-child {font-size:8px;color:#7b746e}
.film-screen {background:#1b171b}
.film-screen video {display:block;width:100%;height:auto;aspect-ratio:16/9}
.film-card figcaption {display:flex;gap:15px;align-items:center;padding:23px}
.film-card figcaption strong {display:block;font-size:13px;font-weight:600}
.film-card figcaption div>span {display:block;font-size:10px;color:#78716a;margin-top:3px}
.film-icon {display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#f4ece9;color:#842b48;font-size:24px;flex-shrink:0}
.hero-promise {margin:20px 23px 0;display:flex;gap:12px;align-items:flex-start}
.hero-promise p {flex:1;min-width:0;font-size:13px;line-height:1.6;margin:0}
.promise-symbol {flex-shrink:0;font-size:22px;line-height:1;color:#9a7942}
.service-ribbon {display:flex;justify-content:center;align-items:center;border-block:1px solid var(--line);background:#fffefa;padding:23px 5vw;font-size:12px;color:#5f575b;text-align:center}
.service-ribbon span {padding-inline:35px;border-right:1px solid var(--line)}
.service-ribbon span:last-child {border:0}
.problem {background:#fff}
.split {gap:8vw;align-items:start}
.split>p {font-size:15px;line-height:1.9}
blockquote {background:#f8f4ee;border:0;padding:30px 38px;max-width:none;border-radius:12px;font-size:24px;line-height:1.55;color:#655039}
.intro {font-size:16px}
.panel {padding:40px;border:1px solid #e8e3df;background:#fff;border-radius:16px}
.warm {background:#f7f1e9;border-color:#eee1d0}
.number {display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid #dbcab6;border-radius:50%;color:#956c3c;font-size:12px}
.panel h3 {font-size:27px;margin-bottom:20px}
.panel ul {list-style:none;padding:0;font-size:14px}
.panel li {position:relative;padding-left:25px}
.panel li::before {content:'✓';position:absolute;left:0;color:#a28250}
.control {padding:24px 28px;border-color:#b59861;margin-top:28px;max-width:none;background:#faf7f1;border-radius:0 12px 12px 0}
.control h3 {font-size:21px;margin-bottom:12px;text-wrap:initial}
.control p {font-size:13px;margin:0}
.soft {background:#f7f5f1}
.phases {gap:20px;margin-top:36px}
.phases article {padding:24px;background:#fffefa;border:1px solid #e6dfd4;border-radius:12px}
.step-number {display:inline-grid;place-items:center;width:36px;height:36px;padding:0;margin-bottom:20px;border:1px solid #d6c5aa;border-radius:50%;color:#9c7b45;font-size:12px}
.phases h3 {font-size:20px;min-height:0;margin:0 0 24px;text-wrap:initial}
.phases h4 {color:#842b48;font-size:12px;margin:0 0 8px}
.phases p {font-size:14px;line-height:1.75;margin:0 0 24px}
.phases p:last-child {margin-bottom:0}
.plans {padding-top:0;gap:24px;margin-top:50px}
.plan {position:relative;border-radius:16px;padding:34px 28px;background:#fff;box-shadow:0 8px 24px #39252e05}
.plan h3 {font-size:clamp(24px,2.2vw,32px);margin:0 0 22px}
.plan>p:not(.eyebrow) {font-size:14px;line-height:1.8;margin-bottom:30px}
.plan>p:not(.eyebrow):first-of-type,.plan>.eyebrow+p {font-size:10px;letter-spacing:.12em;line-height:1.5;margin:0 0 16px}
.plan .button {margin-top:auto;font-size:12px;min-height:50px;box-shadow:none}
.featured {background:linear-gradient(145deg,#3e2732,#251e25);border:1px solid #70505a;box-shadow:0 18px 35px #4528361c;transform:none}
.featured p {color:#eee2e5}
.featured .eyebrow {position:absolute;top:0;left:28px;right:28px;transform:translateY(-50%);width:fit-content;max-width:calc(100% - 56px);margin:0;padding:6px 12px;border-radius:20px;background:#e7cd9c;color:#443322;font-size:9px;line-height:1.5;letter-spacing:.06em}
.featured .button {background:#e7cd9c;border-color:#e7cd9c;color:#352735}
.featured .button:hover {background:#f6e4c3}
.audience {background:#fff}
.audience li {background:#faf8f4;font-size:12px}
.screens {gap:28px}
.screens figure {display:flex;flex-direction:column;border-radius:14px;box-shadow:0 12px 30px #29212408}
.screenshot-link {display:block;position:relative}
.screenshot-link::after {content:'↗';position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:32px;height:32px;background:#fffefbf2;border:1px solid #e6dfd4;border-radius:50%;color:#842b48;font-size:18px;pointer-events:none;box-shadow:0 2px 8px #29212412}
.screens img {border-bottom:1px solid var(--line)}
.screens figcaption {padding:22px 24px}
.screens figcaption strong {font-size:16px;font-weight:600;line-height:1.5}
.screens figcaption span {font-size:11px;line-height:1.7}
.steps {gap:30px;margin:36px 0 30px}
.steps article {border-top:1px solid #d6c5aa;padding-top:24px}
.steps h3 {font-size:22px;margin:0 0 16px}
.steps p {font-size:14px;line-height:1.8;margin:0}
.dark {background:linear-gradient(125deg,#29242b,#402c36)}
.dark h2 {color:#faf4e9}
.dark h3 {color:#e5cda5;font-size:20px;margin-bottom:14px;text-wrap:initial}
.dark p {color:#ddd2d9;font-size:14px}
.dark .duo {gap:28px 50px}
.dark .duo article {border-top:1px solid #ffffff24;padding-top:22px}
.dark .duo p {margin-bottom:0}
.boundary {border-color:#6d5762}
.faq {padding-block:84px;max-width:none}
.faq h2 {margin-bottom:32px}
.faq details {padding:0;border-bottom:1px solid var(--line)}
.faq details:first-of-type {border-top:1px solid var(--line)}
.faq summary {position:relative;list-style:none;padding:22px 42px 22px 0;font-size:15px}
.faq summary::-webkit-details-marker {display:none}
.faq summary::after {content:'';position:absolute;right:8px;top:26px;width:8px;height:8px;border-right:1.5px solid #842b48;border-bottom:1.5px solid #842b48;transform:rotate(45deg)}
.faq details[open] summary::after {transform:rotate(225deg);top:30px}
.faq summary:hover {color:#842b48}
.faq details[open] summary {color:#842b48}
.faq details p {font-size:14px;line-height:1.85;padding:0 42px 24px 0;max-width:900px}
.contact {background:radial-gradient(ellipse at 10% 20%,#efe0d6,transparent 60%),#f5efe7;gap:7vw;align-items:center}
.contact>div {min-width:0}
.contact>div:last-child {background:#fff;padding:32px 36px;border:1px solid #e7dbd0;border-radius:18px;box-shadow:0 18px 40px #5547370c}
.contact h2 {font-size:43px}
.contact label:not(.checkbox) {font-size:12px}
.contact input:not([type=checkbox]),select,textarea {background:#fdfbf8;border-color:#ded5cd;border-radius:7px;font-size:14px}
.contact input:focus,.contact textarea:focus,.contact select:focus {background:#fff}
.contact .micro {font-size:12px}
.contact .optional,.checkbox {font-size:12px;line-height:1.8}
.optional summary {padding-block:8px}
.checkbox input {margin-top:2px}
.notice {font-size:11px;background:#fcf7ed;border-color:#e1d0ad}
.footer-brand {width:160px;height:auto;margin-bottom:23px}
footer {padding-block:45px;font-size:12px;background:#fffefa;align-items:flex-start}
.footer-links {flex-wrap:wrap;gap:14px 24px;padding-top:4px}
footer strong {font-weight:600}
@media(min-width:1600px) {.hero {gap:80px}}
@media(min-width:761px) {
  .phases {grid-template-rows:repeat(6,auto);gap:0 20px}
  .phases article {display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0}
  .steps {grid-template-rows:repeat(3,auto);gap:0 30px}
  .steps article {display:grid;grid-template-rows:subgrid;grid-row:span 3}
}
@media(max-width:1150px) {
  .header nav {font-size:11px}
  .hero {gap:35px}
  .hero h1 {font-size:44px}
  .service-ribbon span {padding-inline:20px}
  .phases {row-gap:24px}
}
@media(max-width:760px) {
  .section {padding:64px 24px}
  .header {padding:12px 18px}
  .brand>img {width:125px}
  .brand .brand-endorsement {font-size:8px;gap:5px}
  .brand .brand-endorsement img {width:48px}
  .header .button {font-size:9px;padding:11px 12px}
  .header nav {gap:8px 16px;font-size:10px}
  .hero {grid-template-columns:minmax(0,1fr);padding-top:45px;gap:34px}
  .hero h1 {font-size:41px;max-width:550px}
  .hero .lead {font-size:14px}
  .hero .eyebrow {font-size:8px;letter-spacing:.08em}
  .hero .actions {gap:14px}
  .hero-media {padding:10px 0 0}
  .film-heading {padding:15px}
  .film-heading>span:last-child {font-size:6px}
  .film-card figcaption {padding:16px;gap:10px}
  .film-card figcaption strong {font-size:11px}
  .film-card figcaption div>span {font-size:9px}
  .hero-promise {margin:20px 10px 0}
  .hero-promise p {font-size:12px;max-width:none}
  .service-ribbon {flex-direction:column;align-items:center;gap:10px;padding:23px;font-size:10px;text-align:center}
  .service-ribbon span {border:0;padding:0}
  blockquote {font-size:20px;padding:25px}
  .panel {padding:28px}
  .panel h3 {font-size:25px}
  .featured {transform:none}
  .plan {padding:34px 28px}
  .plan h3 {font-size:30px}
  .plans {gap:28px}
  .phases h3 {min-height:0}
  .contact {gap:25px}
  .contact h2 {font-size:34px}
  .contact>div:last-child {padding:22px}
  footer {padding:40px 24px}
}
@media(max-width:390px) {
  .section {padding-inline:20px}
  .hero h1 {font-size:36px}
  .header {padding-inline:14px}
  .brand>img {width:110px}
  .header nav {gap:6px 12px;font-size:9px}
  .header .button {max-width:108px}
}
@media(prefers-reduced-motion:no-preference) {
  .button,.screens figure {transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
  .button:hover {transform:translateY(-2px)}
  .screens figure:hover {transform:translateY(-4px);box-shadow:0 18px 35px #29212414}
}

/* Navigation: moving highlight, visible focus and page progress. */
.section {scroll-margin-top:var(--header-offset,124px)}
.header {background:#fffefbe8;border-bottom-color:#e9dfd5;backdrop-filter:blur(22px);isolation:isolate}
.header.is-scrolled {background:#fffefbf5;box-shadow:0 8px 30px #39232c0d}
.header::after {content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#842b48,#c8aa74);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
.header nav {position:relative;isolation:isolate;gap:4px;padding:5px;border:1px solid #e9e1d8;background:#f5f1ecb3;border-radius:14px}
.header nav a {position:relative;z-index:1;padding:11px 15px;font-size:12px;font-weight:600;line-height:1.5;border-radius:10px;white-space:nowrap}
.header nav a::after {content:'';position:absolute;left:15px;right:15px;bottom:5px;height:2px;border-radius:2px;background:#b9975d;transform:scaleX(0);transform-origin:center}
.header nav a:is(:hover,:focus-visible,[aria-current]) {color:#842b48}
.header nav a:is(:hover,:focus-visible,[aria-current])::after {transform:scaleX(1)}
.header nav a:focus-visible {outline-offset:2px}
.nav-indicator {position:absolute;z-index:0;left:0;top:0;border-radius:10px;background:#fffefa;box-shadow:0 2px 8px #55362512,inset 0 0 0 1px #e1cdb7;opacity:0;pointer-events:none}
.nav-indicator.is-visible {opacity:1}
.language {display:grid;place-items:center;min-width:36px;min-height:36px;padding:5px;border:1px solid #e3d9cf;border-radius:50%;text-decoration:none;font-weight:600}
.language:is(:hover,:focus-visible) {background:#842b48;border-color:#842b48;color:#fff}
.header .button {border-radius:12px;box-shadow:0 5px 16px #842b4822}

/* A warm editorial canvas and a cinematic stage for the existing product video. */
.home-page {background:#fffcf7}
.home-page h2 {font-size:clamp(32px,3.3vw,48px);letter-spacing:-.055em}
.hero {isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 88% 38%,#dab6b559,transparent 44%),radial-gradient(ellipse at 55% 100%,#e9d4ac66,transparent 50%),#fbf7f0}
.hero::before {content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(#8b5c4530 .7px,transparent .7px);background-size:20px 20px;mask-image:linear-gradient(90deg,transparent 35%,#000 100%)}
.hero::after {content:'';position:absolute;bottom:0;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,#c9ac78,transparent)}
.hero h1 {font-weight:600;line-height:1.1;letter-spacing:-.06em}
.hero h1 span {color:#842b48;background:linear-gradient(115deg,#6c1936 5%,#a03a59 70%,#7d2d45);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero .eyebrow {color:#785635}
.hero .lead {color:#655d61;line-height:1.85}
.hero .text-link {padding:14px 0;border-bottom-color:#c6a97d;font-size:12px}
.hero .text-link:hover {border-bottom-color:#842b48}
.hero-media {padding:16px 0}
.film-card {background:#2c1e28;border:1px solid #70505b;border-radius:22px;box-shadow:0 32px 65px -20px #49233166,0 0 0 8px #fff9,0 0 0 9px #c8b6a344}
.film-heading {padding:17px 24px;background:linear-gradient(105deg,#38232e,#251c25)}
.film-heading>span:first-child {color:#efd6a8;letter-spacing:.2em}
.film-heading>span:first-child::before {content:'';display:inline-block;width:6px;height:6px;margin-right:10px;background:#dfb878;border-radius:50%;box-shadow:0 0 0 4px #dfb87815}
.film-heading>span:last-child {color:#dac7ce}
.film-card figcaption {padding:20px 24px;border-top:1px solid #ffffff14;background:linear-gradient(110deg,#392531,#251c25)}
.film-card figcaption strong {color:#fff8ee;font-size:14px}
.film-card figcaption div>span {color:#cbbac2;font-size:11px}
.film-icon {color:#edc890;background:#ffffff0a;border:1px solid #ad896650;width:42px;height:42px}
.hero-promise {align-items:center;margin:30px 8px 0;gap:14px}
.promise-symbol {width:34px;height:34px;display:grid;place-items:center;background:#fff8;border:1px solid #ccb58c66;border-radius:50%;font-size:19px}
.hero-promise p {color:#725745;font-size:12px}
.hero-reassurance {color:#796d63;font-size:11px}
.service-ribbon {background:#f4eee5;padding-block:23px;border-top:0;border-bottom-color:#e5d8c8}
.service-ribbon span {display:flex;align-items:center;justify-content:center;gap:12px;color:#614e47;font-size:11px;letter-spacing:.02em}
.service-ribbon span::before {content:'';width:6px;height:6px;flex-shrink:0;border:1px solid #9e7544;transform:rotate(45deg)}
.home-page .button {position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#8c2c4b,#70243d);border-color:#842b48;box-shadow:0 8px 20px #842b4824,inset 0 1px 0 #ffffff21;border-radius:12px}
.home-page .button::before {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,#ffffff26 50%,transparent 80%);transform:translateX(-150%);pointer-events:none}
.home-page .button:hover {box-shadow:0 12px 28px #842b4838}
.home-page .button:active {transform:translateY(0)}
.problem {background:#fffefa}
.problem blockquote {position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#4a2637,#742c47);border:1px solid #72384e;color:#fff3e0;border-radius:18px;padding:36px 48px 36px 82px;box-shadow:0 16px 36px #4c263416;font-size:clamp(22px,2.2vw,31px)}
.problem blockquote::before {content:'“';position:absolute;left:27px;top:12px;color:#dfb980;font-family:Georgia,serif;font-size:78px;line-height:1}
.panel {position:relative;overflow:hidden;border-radius:20px;box-shadow:0 12px 35px #3a26300a}
.panel::after {content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#9d4d66,#d7b67a);opacity:.8}
.panel:not(.warm) {background:linear-gradient(125deg,#31242d,#4a2c3a);border-color:#634352;color:#fff8ef}
.panel:not(.warm) .number {background:#ffffff0a;border-color:#ab8b6e;color:#edc98f}
.panel:not(.warm) li {color:#e9dfe3}
.panel:not(.warm) li::before {color:#e4c38c}
.warm {background:linear-gradient(130deg,#fbf5eb,#f1e5d3);border-color:#e3d2ba}
.panel .number {border-radius:12px;background:#fff9;margin-bottom:24px}
.control {background:#f5ede1;border-left-width:2px;border-radius:0 16px 16px 0;padding:27px 32px}
.soft {background:linear-gradient(150deg,#f3eee6,#faf7f2)}
.phases article {position:relative;border-radius:16px;border-color:#e4d7c6;box-shadow:0 8px 20px #4a352909}
.step-number {border-radius:10px;background:#f1e5d4;border-color:#e1caa7;color:#75532f;font-weight:600}
.phases h3 {letter-spacing:-.035em}
.phases h4 {font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.plans {counter-reset:plan}
.plan {counter-increment:plan;border-color:#e5d7ca;border-radius:20px;padding:40px 32px;box-shadow:0 12px 30px #4e29340a}
.plan::before {content:'0' counter(plan);position:absolute;top:28px;right:28px;font-size:14px;letter-spacing:-.04em;color:#b49980}
.plan:not(.featured) {background:linear-gradient(145deg,#fffefa,#f8f3ed)}
.plan h3 {font-size:clamp(25px,2.5vw,36px);letter-spacing:-.055em}
.plan>p:not(.eyebrow):first-of-type,.plan>.eyebrow+p {color:#846452;letter-spacing:.18em}
.featured {background:radial-gradient(ellipse at 100% 0,#a24b645c,transparent 60%),linear-gradient(140deg,#4a2838,#251d27);border-color:#895b6a;box-shadow:0 18px 42px #4e29342e}
.featured::before {color:#d5b582}
.featured>.eyebrow+p {color:#e6c791}
.featured .eyebrow {background:#ead0a0;border:1px solid #f4e3bd;box-shadow:0 4px 12px #30202b18}
.home-page .featured .button {background:linear-gradient(115deg,#edcea0,#dcb878);border-color:#edcea0;color:#3e2931;box-shadow:0 8px 20px #120b121f,inset 0 1px 0 #fff6}
.audience {background:#fffefa}
.audience li {border-radius:10px;background:#faf5ed;border-color:#e6daca;padding:12px 18px}
.screens figure {border-radius:18px;border-color:#dfd4c6;box-shadow:0 10px 28px #4a352912}
.screens figcaption {background:#fffefa;display:flex;flex-direction:column;justify-content:center;flex:1}
.screenshot-link::after {background:#842b48;color:#fff;border-color:#9e4762;width:38px;height:38px;box-shadow:0 5px 15px #50233933}
.steps article {border-top-color:#c3a474}
.steps .number {border-radius:10px;background:#f3e8d6;border-color:#dec7a3;font-weight:600}
.dark {position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 100% 0,#7a3b575c,transparent 55%),linear-gradient(125deg,#261e28,#432738)}
.dark::before {content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(#e2cba11f .8px,transparent .8px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent,#000)}
.dark .duo article {padding:28px;border:1px solid #bca39033;border-radius:15px;background:#ffffff04}
.dark h2 {max-width:900px}
.boundary {margin-bottom:0;color:#c8b6c0}

/* Questions keep native details controls and a strong open/closed distinction. */
.faq {background:#fffcf7}
.faq-heading {position:relative;min-width:0}
.faq-heading .eyebrow {color:#936c3d}
.faq-decoration {display:none}
.faq-list {min-width:0;counter-reset:question}
.faq details {counter-increment:question;background:#fffefa;border:1px solid #e4d8c9;border-radius:14px;margin-bottom:12px;box-shadow:0 3px 12px #4e293404}
.faq details:first-of-type {border-top:1px solid #e4d8c9}
.faq details[open] {background:#fffaf3;border-color:#c1a47e;box-shadow:inset 3px 0 0 #842b48,0 12px 25px #4e293409}
.faq summary {padding:24px 64px 24px 54px;font-size:14px;line-height:1.65}
.faq summary::before {content:counter(question,decimal-leading-zero);position:absolute;left:20px;top:26px;font-size:10px;font-weight:400;color:#a17a50}
.faq summary::after {content:'+';display:grid;place-items:center;right:18px;top:21px;width:28px;height:28px;border:1px solid #e5d5be;border-radius:50%;background:#f8f0e5;color:#842b48;transform:none;font-size:19px;font-weight:400;line-height:1}
.faq details[open] summary::after {content:'−';top:21px;transform:none;background:#842b48;border-color:#842b48;color:#fff}
.faq details p {padding:0 54px 26px;font-size:13px;color:#6b5c63}
.contact {background:radial-gradient(ellipse at 0 0,#9f4b6559,transparent 55%),linear-gradient(135deg,#4a2638,#2d202e);color:#fff8ed}
.contact>div:first-child p {color:#e4d3db;font-size:15px}
.contact>div:first-child .eyebrow {color:#e8c78f;font-size:10px}
.contact>div:first-child>p:last-child {font-size:12px;border-top:1px solid #d0b0a93d;padding-top:24px;margin-top:28px;color:#d8c4ce}
.contact h2 {font-size:clamp(36px,3.7vw,54px);max-width:530px}
.contact>div:last-child {color:var(--ink);background:#fffdf8;border-color:#e7d9c5;border-radius:22px;box-shadow:0 28px 60px #140a1840}
.contact input:not([type=checkbox]),.contact select,.contact textarea {background:#faf6ef;border-color:#ded0c1;border-radius:9px}
.contact input:focus,.contact textarea:focus,.contact select:focus {border-color:#a36277;box-shadow:0 0 0 4px #842b4809}
footer {border-top:1px solid #e8dbca}
.footer-links a {text-decoration:none;border-bottom:1px solid #dbc9b1;padding-block:5px}
.footer-links a:hover {color:#842b48;border-color:#842b48}
@media(min-width:1151px) {
  .hero {padding-block:62px 64px;gap:6vw;grid-template-columns:1fr 1.04fr}
  .hero h1 {font-size:clamp(48px,4.25vw,65px)}
  .hero .actions {flex-direction:row;align-items:center;gap:26px}
  .home-page .section:not(.hero) {padding-block:96px}
  .phases {gap:0 20px}
  .phases article {padding:30px 24px}
  .faq {display:grid;grid-template-columns:.8fr 1.25fr;gap:7vw;align-items:start}
  .faq-heading {position:sticky;top:calc(var(--header-offset,124px) + 28px)}
  .faq h2 {font-size:44px;max-width:430px}
  .faq-decoration {display:block;width:86px;height:86px;margin-top:36px;border:1px solid #d1b792;border-radius:24px;color:#ad8350;background:linear-gradient(140deg,#f6ead7,#fffcf7);font-size:46px;line-height:84px;text-align:center;font-weight:400;box-shadow:0 10px 25px #6c492908}
}
@media(prefers-reduced-motion:no-preference) {
  .home-page .button::before {transition:transform .65s ease}
  .home-page .button:hover::before {transform:translateX(150%)}
  .button span {transition:transform .25s ease}
  .button:hover span {transform:translate(2px,-2px)}
  .panel,.plan,.phases article,.faq details,.film-card {transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}
  .panel:hover,.phases article:hover {border-color:#bc9b73;box-shadow:0 20px 35px #4e293413;transform:translateY(-4px)}
  .plan:hover {border-color:#ba8e6e;transform:translateY(-6px);box-shadow:0 22px 42px #4e29341f}
  .featured:hover {box-shadow:0 25px 48px #4e29343b}
  .film-card:hover {transform:translateY(-3px);box-shadow:0 40px 75px -20px #49233177,0 0 0 8px #fff9,0 0 0 9px #c8b6a355}
  .faq details:hover {border-color:#c1a47e}
  .faq details[open] p {animation:answer-in .25s ease-out}
  @keyframes answer-in {from {opacity:.3;transform:translateY(-4px)}to {opacity:1;transform:none}}
}
@media(min-width:1151px) {.header {padding-block:17px;gap:18px}.header-actions {gap:14px}}
@media(prefers-reduced-motion:no-preference) {
  .header,.language {transition:background .25s ease,box-shadow .25s ease,color .25s ease}
  .header nav a {transition:color .2s ease,transform .2s ease}
  .header nav a::after {transition:transform .25s ease}
  .header nav a:hover {transform:translateY(-1px)}
  .nav-indicator {transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s ease,height .32s ease,opacity .18s ease}
}

/* Mobile: compact header, touch-sized links and room for the full copy. */
.menu-toggle,.header nav .mobile-nav-cta {display:none}
@media(max-width:760px) {
  .header {display:flex;flex-wrap:nowrap;gap:10px;padding:12px 16px}
  .brand {min-width:0}
  .brand>img {width:128px;max-width:100%}
  .brand .brand-endorsement {white-space:nowrap;gap:5px;font-size:8px}
  .brand .brand-endorsement img {width:46px}
  .header-actions {gap:8px;flex-shrink:0;order:1;margin-left:auto}
  .header-actions>.button {display:none}
  .language {min-width:44px;min-height:44px;font-size:12px}
  .header.nav-ready .menu-toggle {display:inline-flex;order:2;flex-shrink:0;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 13px;border:1px solid #ddcdbc;border-radius:12px;background:#f8f1e8;color:#642037;font:600 12px/1.5 Poppins,Arial,sans-serif;cursor:pointer}
  .menu-toggle-icon {position:relative;width:16px;height:14px;flex-shrink:0}
  .menu-toggle-icon::before,.menu-toggle-icon::after {content:'';position:absolute;left:0;right:0;top:4px;height:1.5px;background:currentColor;border-radius:2px}
  .menu-toggle-icon::after {top:10px}
  .menu-open .menu-toggle-icon::before {top:7px;transform:rotate(45deg)}
  .menu-open .menu-toggle-icon::after {top:7px;transform:rotate(-45deg)}
  .header nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;min-width:0;padding:10px;overflow:visible;white-space:normal}
  .header:not(.nav-ready) {flex-wrap:wrap}
  .header.nav-ready nav {display:none;position:absolute;top:calc(100% + 8px);left:12px;right:12px;width:auto;max-height:calc(100dvh - var(--header-offset,110px) - 16px);overflow-y:auto;overscroll-behavior:contain;background:#fffdf8;box-shadow:0 18px 45px #35202c26;border-color:#dfcfbc}
  .header.nav-ready.menu-open nav {display:grid}
  .header nav a {display:flex;align-items:center;min-height:48px;min-width:0;padding:12px;font-size:13px;line-height:1.5;white-space:normal;overflow-wrap:break-word}
  .header nav a[data-nav-target]:is(:hover,:focus-visible,[aria-current]) {background:#f4e9dc;color:#74243f;transform:none}
  .header nav a::after,.nav-indicator {display:none}
  .header nav .mobile-nav-cta {display:flex;grid-column:1/-1;width:100%;max-width:none;gap:10px;margin-top:4px;padding:14px 12px;min-height:50px;color:#fff;font-size:12px;text-align:center}
  .header nav .mobile-nav-cta span {flex-shrink:0}
  .section {padding:54px 20px}
  .home-page h2 {font-size:clamp(29px,7.8vw,34px);letter-spacing:-.045em;margin-bottom:22px}
  .hero {padding-block:38px 50px;gap:26px}
  .hero h1 {font-size:clamp(33px,9.2vw,43px);line-height:1.14;margin-bottom:22px}
  .hero .eyebrow {line-height:1.7;letter-spacing:.06em}
  .hero .lead {font-size:14px;line-height:1.85}
  .hero .actions {flex-direction:column;align-items:stretch;gap:8px;margin-top:24px}
  .hero .text-link {align-self:center;text-align:center;padding:12px 0;min-height:44px}
  .button {max-width:100%;min-height:48px;padding:14px 18px;white-space:normal;text-align:center;overflow-wrap:break-word}
  .button span {flex-shrink:0}
  .hero-media {padding:8px 3px 0}
  .film-heading {padding:13px 14px;gap:10px;letter-spacing:.08em}
  .film-heading>span:first-child {font-size:9px;letter-spacing:.1em}
  .film-heading>span:last-child {font-size:8px;letter-spacing:.03em;text-align:right}
  .film-card figcaption {padding:16px 14px;gap:10px;align-items:flex-start}
  .film-card figcaption>div {min-width:0;overflow-wrap:break-word}
  .film-card figcaption strong {font-size:12px;line-height:1.6}
  .film-card figcaption div>span {font-size:11px;line-height:1.7}
  .film-icon {width:34px;height:34px}
  .hero-promise {margin:24px 0 0;align-items:flex-start}
  .service-ribbon {align-items:stretch;padding:24px 20px;gap:13px}
  .service-ribbon span {justify-content:flex-start;text-align:left;gap:12px;line-height:1.7}
  .problem blockquote {padding:26px 22px 26px 48px;font-size:20px;line-height:1.6}
  .problem blockquote::before {left:14px;top:17px;font-size:46px}
  .duo,.screens {gap:20px}
  .panel {padding:26px 22px}
  .panel h3 {font-size:25px}
  .panel ul {margin-bottom:0}
  .control {padding:23px 22px;margin-top:22px}
  .phases {margin-top:28px;gap:18px}
  .phases article {padding:24px 22px}
  .phases h3 {margin-bottom:20px}
  .plans {margin-top:34px;gap:26px}
  .plan {padding:32px 24px}
  .plan h3 {font-size:30px}
  .plan .button {width:100%;padding:14px 12px;font-size:13px}
  .plan::before {right:24px;top:24px}
  .featured {padding-top:40px}
  .featured .eyebrow {left:20px;right:20px;max-width:calc(100% - 40px);font-size:9px}
  .audience ul {gap:10px}
  .audience li {max-width:100%;padding:12px 16px}
  .screens figcaption {padding:20px}
  .steps {gap:26px;margin:28px 0}
  .dark .duo article {padding:24px 20px}
  .faq h2 {margin-bottom:26px}
  .faq summary {padding:20px 54px 20px 18px;font-size:14px;line-height:1.65}
  .faq summary::before {display:none}
  .faq summary::after,.faq details[open] summary::after {right:14px;top:20px}
  .faq details p {padding:0 18px 22px;font-size:14px;line-height:1.8}
  .contact {gap:28px;align-items:start}
  .contact>div:last-child {padding:24px 18px;border-radius:18px}
  .contact input:not([type=checkbox]),.contact select,.contact textarea {min-width:0;max-width:100%;font-size:16px}
  .contact .button {width:100%;padding-inline:12px;font-size:13px}
  .contact .optional summary {padding-block:14px;line-height:1.7}
  .contact .checkbox {align-items:flex-start;gap:10px}
  .contact .checkbox input {flex-shrink:0;width:20px;height:20px}
  footer {padding:36px 20px;gap:24px}
  .footer-links {gap:8px 20px}
  .footer-links a {display:inline-flex;align-items:center;min-height:44px}
  .legal h1 {font-size:clamp(30px,8vw,36px);overflow-wrap:break-word}
  .legal dd {margin-left:0;overflow-wrap:anywhere}
  dialog {width:calc(100% - 24px);max-width:none;max-height:calc(100dvh - 24px);padding:16px}
  dialog button {min-height:44px}
  dialog p {font-size:13px;overflow-wrap:break-word}
}
@media(max-width:600px) {.phases {grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px) {
  .header {padding-inline:12px;gap:8px}
  .brand>img {width:112px}
  .header-actions {gap:6px}
  .header.nav-ready .menu-toggle {padding-inline:10px;gap:8px}
  .section {padding-inline:16px}
  .plan,.panel {padding-inline:20px}
}
@media(prefers-reduced-motion:no-preference) {
  .menu-toggle-icon::before,.menu-toggle-icon::after {transition:transform .2s ease,top .2s ease}
}

/* Discreet, expandable ENS declaration in the shared footer. */
.footer-meta {display:flex;flex-direction:column;align-items:flex-end;gap:20px;min-width:0}
footer .ens-badge {display:block;align-self:flex-end;width:48px;max-width:100%;text-decoration:none}
footer .ens-badge::after {display:none}
footer .ens-badge img {display:block;width:48px;height:auto}



@media(max-width:760px) {.footer-meta {width:100%;align-items:flex-start;gap:18px}}