/* Desktop Home composition. Tablet/mobile design intentionally remains a later phase. */
.home-page { --home-accent: #876749; --home-section-space: 56px; background:var(--ivory-50); }
.home-page h2 { font-size:48px; line-height:1.02; letter-spacing:-.025em; }
.home-page h2 em { font-weight:400; color:var(--home-accent); }
.home-page p { line-height:1.5; }
.home-page .eyebrow { font-size:11px; letter-spacing:.21em; margin-bottom:12px; }
.home-page .button { min-height:44px; padding:10px 24px; gap:22px; font-size:13px; }
.home-page .arrow-link { background:transparent; border:0; padding:0; cursor:pointer; font:400 13px var(--font-interface); }
.home-page .picture img { border-radius:0; }
.home-section { padding-block:var(--home-section-space); }
.home-heading { display:grid; grid-template-columns:1.25fr 1fr; align-items:end; gap:56px; margin-bottom:24px; }
.home-heading h2 { max-width:850px; }
.heading-aside { display:flex; justify-content:space-between; align-items:end; gap:24px; }
.heading-aside p { font-size:14px; max-width:440px; }
.heading-aside .arrow-link { white-space:nowrap; flex-shrink:0; }
.line-icon { width:32px; height:32px; flex-shrink:0; }
.home-header { position:absolute; top:0; left:0; width:100%; z-index:25; color:var(--white); }
.home-header > .container { display:flex; align-items:center; justify-content:space-between; gap:28px; height:90px; }
.home-wordmark { display:inline-flex; flex-direction:column; text-decoration:none; flex-shrink:0; line-height:1.05; min-height:44px; justify-content:center; align-items:center; }
.home-wordmark > span { font:400 25px/1.12 var(--font-interface); letter-spacing:.12em; margin-right:-.12em; }
.home-wordmark > small { font:400 9px/1.8 var(--font-interface); letter-spacing:.31em; margin-right:-.31em; }
.home-header nav:not(.language-switcher) { display:flex; align-items:center; gap:21px; }
.home-header nav a,.home-portal-link { display:inline-flex; align-items:center; min-height:44px; font-size:12px; text-decoration:none; white-space:nowrap; }
.home-header nav a:hover,.home-portal-link:hover { text-decoration:underline; text-underline-offset:6px; }
.home-header-actions { display:flex; align-items:center; gap:14px; }
.home-header .language-switcher a { min-width:32px; }
.home-header .button--outline { border-color:var(--sand-400); color:var(--white); padding-inline:18px; }
.home-header .button--outline:hover { background:var(--brown-800); }
.home-hero { position:relative; height:84vh; min-height:660px; max-height:800px; color:var(--white); overflow:hidden; background:var(--brown-950); }
.hero-background { position:absolute; inset:0; }
.hero-background .picture,.hero-background img { width:100%; height:100%; }
.hero-background img { object-fit:cover; object-position:center 56%; }
.home-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(33,21,15,.94) 0%,rgba(33,21,15,.77) 25%,rgba(33,21,15,.33) 51%,rgba(33,21,15,.02) 80%),linear-gradient(0deg,rgba(33,21,15,.64),transparent 24%,transparent 80%,rgba(33,21,15,.47)); }
.home-hero > .container { height:100%; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:1; padding-top:68px; padding-bottom:85px; }
.hero-copy { max-width:660px; }
.hero-copy .eyebrow { color:var(--sand-200); margin-bottom:20px; }
.hero-copy h1 { font-size:78px; line-height:.98; letter-spacing:-.025em; max-width:650px; }
.hero-copy h1 em { display:block; font-style:normal; color:var(--sand-400); }
.hero-copy > p { max-width:450px; margin:22px 0 20px; font-size:17px; line-height:1.5; }
.hero-copy .button--outline { color:var(--white); border-color:var(--sand-400); }
.hero-copy .button--outline:hover { background:var(--brown-800); }
.hero-copy .legacy-note { font-size:11px; margin:9px 0 0; }
.hero-bottom { position:absolute; bottom:35px; left:var(--page-gutter); right:var(--page-gutter); display:flex; justify-content:space-between; align-items:end; }
.hero-trust { display:flex; gap:40px; }
.hero-trust > span { display:flex; align-items:center; gap:12px; max-width:184px; font-size:12px; line-height:1.4; }
.hero-trust .line-icon { color:var(--sand-400); width:29px; height:29px; }
.hero-bottom > p { font-size:13px; max-width:150px; }
.home-projects { padding-block:34px 40px; }
.home-projects .home-heading { grid-template-columns:1fr 2fr; gap:24px; }
.home-projects .heading-aside p { max-width:590px; font-size:13px; }
.projects-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.project-card { position:relative; display:block; width:100%; height:268px; padding:0; text-align:left; overflow:hidden; border:0; border-radius:8px; color:var(--white); background:var(--brown-950); }
.project-card::after { content:''; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(33,21,15,.86)); }
.project-card .picture,.project-card img { width:100%; height:100%; }
.project-card img { object-fit:cover; object-position:center 52%; transition:transform var(--duration-slow) var(--ease-standard); }
.project-card:hover img { transform:scale(var(--hover-zoom)); }
.project-caption { position:absolute; z-index:1; bottom:18px; left:20px; right:64px; display:flex; flex-direction:column; }
.project-category { font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.project-caption strong { font:400 27px/1.2 var(--font-editorial); }
.project-location { font-size:11px; }
.circle-arrow { width:37px; height:37px; border:1px solid rgba(252,250,247,.75); display:grid; place-items:center; border-radius:50%; position:absolute; z-index:1; bottom:20px; right:16px; }
.home-authority { background:var(--ivory-100); min-height:365px; }
.authority-photo { min-height:365px; max-height:395px; overflow:hidden; }
.authority-photo .picture,.authority-photo img { height:100%; width:100%; }
.authority-photo img { object-position:50% 24%; object-fit:cover; }
.authority-copy { padding:40px 54px; align-self:center; }
.authority-copy h2 { white-space:nowrap; font-size:46px; margin-bottom:17px; }
.authority-copy > p { max-width:410px; font-size:15px; }
.authority-credentials { display:flex; flex-direction:column; padding-top:12px; color:var(--brown-800); font-size:12px; }
.authority-stats { border-left:var(--border-default); margin-block:38px; padding-left:48px; display:flex; flex-direction:column; gap:25px; justify-content:center; }
.authority-stats div { display:flex; flex-direction:column; }
.authority-stats strong { font:400 48px/1 var(--font-editorial); }
.authority-stats span { font-size:14px; }
.home-clients { padding-block:38px 32px; }
.home-clients .home-heading { grid-template-columns:1.5fr 1fr; }
.home-clients h2 { font-size:46px; }
.home-brands { display:grid; grid-template-columns:repeat(16,minmax(0,1fr)); row-gap:8px; }
.home-brands .brand-logo { grid-column:span 2; padding:8px; min-height:72px; }
.home-brands img { max-height:46px; }

.home-services { background:var(--ivory-100); padding-block:38px; }
.home-services .home-heading { grid-template-columns:1.25fr 1fr; }
.home-services .heading-aside { display:block; }
.home-services .home-heading h2 { max-width:460px; }
.home-services-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.service-card { position:relative; display:flex; flex-direction:column; text-align:left; padding:0; background:none; color:inherit; border:0; }
.service-card .picture { width:100%; overflow:hidden; border-radius:6px; }
.service-card img { aspect-ratio:1.78; width:100%; object-fit:cover; transition:transform var(--duration-normal); }
.service-card:hover img { transform:scale(var(--hover-zoom)); }
.service-copy { display:flex; flex-direction:column; padding-top:12px; gap:5px; padding-right:18px; }
.service-copy strong { font-size:15px; font-weight:500; line-height:1.25; }
.service-copy > span { font-size:12px; line-height:1.4; color:var(--brown-800); }
.service-card > .icon { position:absolute; right:0; bottom:1px; width:15px; }
.home-services-secondary { display:grid; grid-template-columns:1fr 1fr; gap:36px; border-top:var(--border-default); margin-top:22px; padding-top:18px; }
.service-card--secondary { flex-direction:row; align-items:center; gap:18px; padding-right:32px; }
.service-card--secondary .picture { width:108px; flex-shrink:0; }
.service-card--secondary .service-copy { padding-top:0; }
.service-card--secondary > .icon { top:50%; transform:translateY(-50%); }
.home-audience { position:relative; min-height:285px; display:flex; background:var(--ivory-50); }
.home-audience > .container { padding-block:24px; }
.audience-copy h2 { font-size:45px; max-width:350px; margin-bottom:14px; }
.audience-copy p { font-size:14px; margin-bottom:15px; max-width:350px; }
.audience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; margin:0; list-style:none; gap:8px; align-self:center; }
.audience-grid li { display:flex; align-items:center; gap:9px; padding:10px 4px; border-bottom:var(--border-default); min-height:65px; font-size:11px; line-height:1.4; }
.audience-grid .line-icon { width:27px; height:27px; color:var(--home-accent); }
.home-audience figure { position:relative; margin:0; }
.home-audience figure .picture,.home-audience figure img { width:100%; height:100%; object-fit:cover; }
.home-audience figure::after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(33,21,15,.8)); }
.home-audience figcaption { position:absolute; bottom:30px; right:32px; left:36px; z-index:1; text-align:right; color:var(--white); font:italic 400 23px/1.15 var(--font-editorial); }
.home-process { padding-block:36px; background:var(--ivory-100); }
.home-process h2 { font-size:43px; max-width:530px; }
.home-process .heading-aside { display:block; }
.home-timeline { list-style:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:0; margin:30px 0 0; }
.home-timeline li { position:relative; border-top:1px solid var(--sand-200); padding-top:18px; display:flex; align-items:start; gap:16px; padding-right:22px; }
.timeline-dot { position:absolute; top:-5px; left:0; height:8px; width:8px; border-radius:50%; background:var(--brown-800); }
.home-timeline li:nth-child(3) .timeline-dot { background:var(--camel-500); }
.step-number { font:400 26px/1 var(--font-editorial); color:var(--home-accent); }
.home-timeline h3 { font:500 13px/1.3 var(--font-interface); margin-bottom:6px; }
.home-timeline p { font-size:12px; line-height:1.4; }
.home-portal { overflow:hidden; padding-block:0; }
.home-portal > .container { min-height:226px; display:grid; grid-template-columns:1fr 1.12fr .95fr; gap:32px; align-items:center; }
.portal-copy { padding-block:25px; }
.portal-copy .eyebrow { color:var(--sand-400); font-size:16px; letter-spacing:.15em; }
.portal-copy p { font-size:15px; margin-bottom:15px; max-width:355px; }
.portal-copy .button { font-size:12px; }
.portal-asset { align-self:stretch; margin:26px 0 -24px; border:1px solid rgba(203,177,139,.4); border-radius:16px 16px 0 0; background:var(--brown-900); transform:rotate(-4deg); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; gap:9px; color:var(--sand-200); }
.portal-asset .line-icon { width:40px; height:40px; }
.portal-asset strong { font:400 29px var(--font-editorial); }
.portal-asset small { font-size:11px; }
.portal-features,.conversation-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.portal-features > div,.conversation-features > div { display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; font-size:12px; line-height:1.4; }
.portal-features .line-icon,.conversation-features .line-icon { width:43px; height:43px; padding:8px; border:1px solid var(--sand-400); border-radius:50%; color:var(--sand-400); }
.home-comparison { padding-block:26px 18px; }
.home-comparison > .container { display:grid; grid-template-columns:.85fr 1.65fr; gap:40px; align-items:center; }
.comparison-copy h2 { font-size:39px; margin-bottom:12px; }
.comparison-copy p { font-size:13px; max-width:330px; }
.comparison-stage { position:relative; height:215px; overflow:hidden; border-radius:6px; background:var(--brown-800); }
.comparison-stage .picture,.comparison-stage img { width:100%; height:100%; object-fit:cover; object-position:center 43%; }
.comparison-after,.comparison-before { position:absolute; inset:0; }
.comparison-before { clip-path:inset(0 calc(100% - var(--split)) 0 0); }
.comparison-range { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; margin:0; z-index:4; }
.comparison-label { position:absolute; bottom:12px; z-index:2; color:var(--white); background:rgba(33,21,15,.75); border-radius:3px; padding:3px 9px; font:400 19px var(--font-editorial); }
.before-label { left:13px; }.after-label { right:13px; }
.comparison-handle { position:absolute; left:var(--split); top:0; bottom:0; width:2px; background:var(--white); z-index:3; }
.comparison-handle span { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:34px; height:34px; border-radius:50%; background:var(--white); color:var(--brown-950); display:grid; place-items:center; font-size:20px; }
.comparison-stage:focus-within { outline:3px solid var(--brown-800); outline-offset:4px; }
.comparison-figure figcaption { font-size:10px; color:var(--brown-800); margin-top:6px; }
.home-testimonials { padding-block:25px 28px; background:var(--ivory-100); }
.home-testimonials > .container { display:grid; grid-template-columns:.6fr 2.4fr; gap:36px; }
.reviews-title h2 { font-size:39px; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:30px; }
.reviews-grid blockquote { margin:0; padding-left:25px; border-left:var(--border-default); }
.reviews-grid blockquote p { font-size:12px; line-height:1.45; }
.reviews-grid cite { display:block; margin-top:12px; font-size:12px; font-style:normal; font-weight:500; }
.reviews-source { grid-column:1/-1; display:inline-flex; align-items:center; gap:10px; font-size:10px; min-height:32px; margin-left:25px; margin-top:8px; }
.reviews-source .icon { width:14px; }
.home-faq { padding-block:34px; }
.home-faq > .container { display:grid; grid-template-columns:.7fr 2fr; gap:50px; align-items:start; }
.faq-copy .eyebrow { max-width:210px; line-height:1.6; }
.faq-copy h2 { font-size:30px; margin-bottom:10px; }
.faq-copy p { font-size:13px; margin-bottom:10px; }
.home-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 20px; align-items:start; }
.home-faq details { border:var(--border-default); border-radius:5px; padding:0 16px; }
.home-faq summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:47px; font-size:12px; cursor:pointer; }
.home-faq summary::-webkit-details-marker { display:none; }
.home-faq summary span { color:var(--home-accent); font-size:20px; font-weight:300; }
.home-faq details[open] summary span { transform:rotate(45deg); }
.home-faq details p { font-size:13px; padding-block:4px 17px; }
.home-conversation { background:linear-gradient(100deg,var(--brown-950),var(--brown-800) 46%,var(--brown-950)); padding-block:38px; }
.home-conversation > .container { display:grid; grid-template-columns:.8fr 1.2fr 1fr; gap:56px; align-items:center; }
.conversation-title .eyebrow { color:var(--sand-400); }
.conversation-title h2 { font-size:49px; }
.conversation-title h2 em { color:var(--sand-400); }
.conversation-copy p { font-size:14px; margin-bottom:15px; }
.conversation-copy small { display:block; font-size:10px; margin-top:8px; }
.home-footer { padding:40px 0 25px; }
.home-footer-grid { display:grid; grid-template-columns:1.1fr .8fr 1.5fr 1.1fr 1fr; gap:32px; }
.home-footer h2 { font:500 13px var(--font-interface); margin-bottom:12px; }
.home-footer p { font-size:12px; margin-top:16px; }
.home-footer ul { list-style:none; margin:0; padding:0; }
.home-footer li { font-size:12px; line-height:1.5; }
.home-footer li a,.home-footer li button { min-height:28px; display:inline-flex; align-items:center; text-decoration:none; }
.home-footer button { background:none; border:0; color:inherit; font:inherit; padding:0; cursor:pointer; text-align:left; }
.home-footer a:hover,.home-footer button:hover { text-decoration:underline; }
.home-footer .home-wordmark > span { font-size:23px; }.home-footer .home-wordmark > small { font-size:8px; }
.home-footer .footer-conversation p { margin-top:0; margin-bottom:10px; }
.footer-conversation .arrow-link { font-size:11px; }
.home-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:35px; font-size:10px; }
.home-footer-bottom > div { display:flex; align-items:center; gap:18px; }
.home-footer-bottom a,.home-footer-bottom button { min-height:32px; display:inline-flex; align-items:center; font-size:10px; }
.home-dialog { border:var(--border-default); border-radius:var(--radius-medium); background:var(--ivory-50); color:var(--graphite); padding:42px; width:min(800px,90vw); max-height:88vh; }
.home-dialog::backdrop { background:rgba(33,21,15,.75); }
.home-dialog h2 { font-size:40px; margin-bottom:24px; padding-right:32px; }
.home-dialog > p { margin:20px 0; font-size:16px; }
.home-dialog .picture img { max-height:50vh; object-fit:contain; }
.dialog-close { position:absolute; right:18px; top:14px; width:44px; height:44px; border:0; background:none; color:var(--brown-800); font-size:30px; }
.process-detail { display:grid; gap:20px; margin-bottom:30px; }
.comparison-detail { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.home-page .section--dark { --color-focus:var(--sand-400); }
@media(prefers-reduced-motion:reduce) { .home-page *, .home-page *::before, .home-page *::after { scroll-behavior:auto !important; transition:none !important; } }
.home-header, .home-hero { --color-focus:var(--sand-400); }

.home-brands img[src$="luxafit-transportes.png"], .home-brands img[src$="tamiya.png"] { filter:none; }

.home-page .skip-link:not(:focus-visible) { opacity:0; pointer-events:none; }
.home-page .skip-link:focus-visible { opacity:1; pointer-events:auto; transform:none; }

/* Desktop closing round: regroup content without reducing the type scale. */
.home-header > .container { gap:18px; }
.home-header nav:not(.language-switcher) { gap:16px; }
.home-header-actions { gap:10px; }
.home-hero { height:620px; min-height:620px; max-height:none; }
.home-hero > .container { padding-top:90px; padding-bottom:78px; }
.hero-copy { max-width:610px; }
.hero-copy h1 { max-width:610px; }
.hero-copy .eyebrow { margin-bottom:14px; }
.hero-copy > p { max-width:465px; margin:16px 0 20px; }
.hero-bottom { bottom:24px; }
.hero-trust { gap:30px; }
.hero-trust .line-icon { width:24px; height:24px; }
.hero-trust > span { font-size:11px; max-width:180px; }
.hero-asset-pending { position:absolute; inset:110px 72px 105px 56%; border:1px dashed var(--sand-400); display:grid; place-items:center; padding:32px; text-align:center; color:var(--sand-200); font:400 12px/1.6 var(--font-interface); letter-spacing:.13em; }
.home-hero::after { display:none; }
.home-projects { padding-block:24px; }
.home-projects .home-heading { margin-bottom:18px; }
.project-card { height:244px; border-radius:4px; }
.project-card:nth-child(1) img { object-position:50% 58%; }
.project-card:nth-child(2) img { object-position:50% 58%; }
.project-card:nth-child(3) img { object-position:50% 54%; }
.project-category { font-size:9px; }
.project-caption { bottom:15px; left:18px; }
.home-authority { min-height:330px; }
.authority-photo { min-height:330px; max-height:330px; }
.authority-copy { padding:24px 38px; }
.authority-copy h2 { margin-bottom:12px; }
.authority-copy > p { max-width:490px; }
.authority-stats { border-left:0; margin-block:24px; padding-left:12px; gap:20px; }
.authority-stats strong { font-size:44px; }
.authority-credentials { padding-top:8px; }
.home-clients { padding-block:24px; }
.home-clients .home-heading { grid-template-columns:1.7fr 1fr; gap:32px; margin-bottom:14px; }
.home-clients h2 { white-space:nowrap; }
.home-brands { row-gap:0; border-top:var(--border-default); }
.home-brands .brand-logo { min-height:56px; padding:6px 8px; }
.home-brands img { max-height:40px; }
.home-services { padding-block:26px; }
.home-services .home-heading { grid-template-columns:1.5fr 1fr; gap:38px; margin-bottom:18px; }
.home-services .home-heading h2 { max-width:650px; }
.home-services-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.service-card img { aspect-ratio:2; }
.service-copy { padding-top:9px; }
.home-services-secondary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:16px; padding-top:14px; }
.service-card--secondary .picture { width:76px; }
.service-card--secondary { gap:12px; padding-right:20px; }
.home-audience { min-height:240px; }
.home-audience > .container { padding-block:24px; }

.audience-grid li { min-height:54px; }
.audience-copy h2 { margin-bottom:8px; }
.audience-copy p { margin-bottom:10px; }
.home-process { padding-block:24px; }
.home-process .home-heading { grid-template-columns:1.5fr 1fr; gap:32px; margin-bottom:0; }
.home-process h2 { max-width:700px; }
.home-timeline { margin-top:22px; }
.home-timeline li { padding-top:14px; }
.home-portal { padding-block:24px; }
.home-portal > .container { grid-template-columns:34% 1fr; gap:32px; min-height:340px; }
.portal-copy { padding-block:12px; }
.portal-copy .eyebrow { font-size:11px; }
.portal-copy h2 { font-size:46px; margin-bottom:16px; }
.portal-copy p { max-width:390px; }
.portal-copy .portal-values { color:var(--sand-400); font-size:13px; }
.portal-asset { transform:none; border-radius:var(--radius-small); margin:0; min-height:340px; }
.home-comparison { padding-block:28px; }
.home-comparison > .container { grid-template-columns:32% 1fr; gap:32px; }
.comparison-stage { height:auto; aspect-ratio:1.9; }
.comparison-stage .picture,.comparison-stage img { object-position:50% 50%; }
.comparison-before img { object-position:50% 48%; }
.comparison-after img { object-position:50% 50%; }
.comparison-range { touch-action:pan-y; }
.home-faq { padding-block:24px; }
.home-faq > .container { grid-template-columns:36% 1fr; gap:32px; }
.faq-copy .eyebrow { max-width:none; }
.home-conversation { padding-block:26px; }
.home-conversation > .container { grid-template-columns:1.25fr 1fr auto; gap:32px; }
.conversation-title h2 { font-size:49px; }
.conversation-copy p { margin:0; max-width:360px; }
.home-footer { padding-block:26px 18px; }
.home-footer-grid { grid-template-columns:1fr 1.05fr 1.8fr 1.2fr 1fr; gap:26px; }
.home-footer-grid > div:nth-child(2) ul { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.home-footer-grid > div:nth-child(3) ul { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.home-footer li a,.home-footer li button { min-height:32px; }
.home-footer-bottom { margin-top:22px; }

/* Real Portal capture: preserve the interface proportions and legibility. */
.portal-asset { padding:0; min-height:0; overflow:hidden; align-self:center; background:#f7f4ef; }
.portal-asset img { display:block; width:100%; height:auto; }

/* Approved Portal: compact spacing between description and values. */
.portal-copy > h2 + p { margin-bottom:8px; }
.portal-copy .portal-values { margin-top:0; }

/* Reference-led brown bands — supersedes the earlier Portal composition approval.
   Exact photographic backgrounds remain gated on approved clean source assets. */
.home-hero { height:584px; min-height:584px; background:#33271c; }
.home-hero > .container { justify-content:flex-start; padding-top:116px; padding-bottom:84px; }
.hero-copy { max-width:540px; }
.hero-copy h1 { font-size:74px; line-height:.91; max-width:540px; letter-spacing:-.018em; }
.hero-copy > p { font-size:16px; line-height:1.45; max-width:400px; margin:18px 0; }
.hero-copy .eyebrow { font-size:11px; margin-bottom:16px; }
.hero-copy .button-row { gap:18px; flex-wrap:nowrap; }
.hero-copy .button { padding:8px 24px; min-height:44px; font-size:13px; }
.hero-copy h1 em { color:#c7ab82; }
.hero-bottom { bottom:29px; }
.hero-trust { gap:36px; }
.hero-trust > span { max-width:165px; font-size:12px; gap:12px; }
.hero-trust .line-icon { width:33px; height:33px; padding:5px; border:1px solid #c7ab82; border-radius:50%; }
.hero-bottom > p { max-width:146px; font-size:12px; }
.home-portal { padding:0; background:linear-gradient(105deg,#211e15,#372a1b 54%,#211d14); }
.home-portal > .container { min-height:218px; grid-template-columns:31% 36% 1fr; gap:26px; align-items:center; }
.portal-copy { padding:24px 0; z-index:2; }
.portal-copy h2 { font:400 17px/1.3 var(--font-interface); letter-spacing:.13em; text-transform:uppercase; color:#ceb18b; margin-bottom:10px; }
.portal-copy p { max-width:350px; font-size:14px; line-height:1.42; margin:0 0 12px; }
.portal-copy .button { font-size:12px; padding:8px 20px; min-height:40px; }
.portal-asset { align-self:start; margin:12px 0 -110px; border:6px solid #302d25; border-radius:var(--radius-small); box-shadow:-12px 12px 24px #100d0a88,0 0 0 1px #b3a38b; transform:perspective(950px) rotateY(-7deg) rotateZ(-5deg); transform-origin:center top; }
.portal-features { position:relative; z-index:2; gap:16px; color:#ceb18b; }
.portal-features > div { font-size:11px; gap:10px; }
.portal-features .line-icon { width:43px; height:43px; }
.home-conversation { position:relative; padding:0; min-height:214px; background:linear-gradient(90deg,#362517,#705035 34%,#352416 56%,#3f2b19); }
.home-conversation > .container { position:relative; min-height:214px; grid-template-columns:41% 27% 1fr; gap:28px; }
.conversation-title h2 { font-size:49px; line-height:1; }
.conversation-title .eyebrow { font-size:11px; }
.conversation-copy { padding:24px 0; }
.conversation-copy p { font-size:14px; line-height:1.4; margin-bottom:14px; }
.conversation-copy small { font-size:10px; margin-top:8px; }
.conversation-copy .button { min-height:42px; font-size:12px; padding:8px 24px; }
.conversation-features { gap:18px; }
.conversation-features > div { font-size:11px; gap:12px; }

/* Provisional backgrounds restored from the approved render; awaiting visual approval. */
.hero-background img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.home-hero::after { display:block; pointer-events:none; background:linear-gradient(90deg,rgba(30,22,14,.32),transparent 56%),linear-gradient(0deg,rgba(30,22,14,.32),transparent 20%); }
.home-conversation { background-image:linear-gradient(90deg,rgba(30,22,14,.18),transparent 32%,rgba(30,22,14,.22)),url('/assets/alignment-release-20261006/home__cta-reference-provisional.png'); background-size:cover; background-position:center 48%; }

/* One useful-width container, with a shared 12-column grid for the Home body. */
.home-page main > section { width:100%; }
.home-section > .container { display:grid; grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr)); column-gap:var(--grid-gap); }
.home-section > .container > * { min-width:0; grid-column:1 / -1; }
.home-page .home-heading { grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr)); column-gap:var(--grid-gap); }
.home-heading > div:first-child { grid-column:span 7; }
.home-heading > .heading-aside { grid-column:span 5; }
.home-projects .home-heading > div:first-child { grid-column:span 4; }
.home-projects .home-heading > .heading-aside { grid-column:span 8; }
.home-clients .home-heading > div:first-child { grid-column:span 8; }
.home-clients .home-heading > .heading-aside { grid-column:span 4; }
.heading-aside p { min-width:0; }
.projects-grid,.home-services-grid,.home-services-secondary { grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr)); gap:var(--grid-gap); }
.project-card { grid-column:span 4; }
.home-services-grid > * { grid-column:span 3; }
.home-services-secondary > * { grid-column:span 4; }
.authority-grid { display:grid; grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr)); gap:var(--grid-gap); }
.authority-photo { grid-column:span 4; min-width:0; }
.authority-copy { grid-column:span 6; min-width:0; padding:24px 0; }
.authority-copy > p { max-width:none; }
.authority-stats { grid-column:span 2; padding-left:0; margin-block:24px; }
.home-clients h2 { white-space:normal; }
.home-brands { width:100%; }
.home-audience > .container { display:grid; grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr)); gap:var(--grid-gap); }
.audience-copy { grid-column:span 4; }
.audience-grid { grid-column:span 5; }
.home-audience figure { grid-column:span 3; min-width:0; }
.home-comparison > .container > .comparison-copy { grid-column:span 4; }
.home-comparison > .container > .comparison-figure { grid-column:span 8; }
.home-testimonials > .container > .reviews-title { grid-column:span 3; }
.home-testimonials > .container > .reviews-grid { grid-column:span 9; }
.home-faq > .container > .faq-copy { grid-column:span 4; }
.home-faq > .container > .home-faq-grid { grid-column:span 8; }
.home-portal > .container > .portal-copy { grid-column:span 4; }
.home-portal > .container > .portal-asset { grid-column:span 4; }
.home-portal > .container > .portal-features { grid-column:span 4; }
.home-conversation > .container > .conversation-title { grid-column:span 5; }
.home-conversation > .container > .conversation-copy { grid-column:span 3; }
.home-conversation > .container > .conversation-features { grid-column:span 4; }
.hero-bottom { left:0; right:0; }

/* Supplied panoramic hero: preserve the left text-safe area without distortion. */
.hero-background img { object-position:left center; }

/* Editorial introductions stay anchored to their heading; alternate compositions. */
.home-clients .home-heading { align-items:center; margin-bottom:var(--space-5); }
.home-clients .home-heading > div:first-child { grid-column:span 7; }
.home-clients .home-heading > .heading-aside { grid-column:span 4; display:block; }
.home-clients .heading-aside p { max-width:none; margin:0; }
.home-clients .home-brands { padding-top:var(--space-3); }
.home-services .home-heading { row-gap:var(--space-4); margin-bottom:var(--space-5); }
.home-services .home-heading > div:first-child { grid-column:1 / span 7; }
.home-services .home-heading > .heading-aside { grid-column:1 / span 7; display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-3); }
.home-services .heading-aside p { max-width:62ch; margin:0; }
.home-services .home-heading h2 em { display:block; }

/* Desktop floating navigation; compact/mobile navigation remains a later phase. */
@media (min-width:1200px) {
 .home-header { position:fixed; top:28px; left:50%; transform:translateX(-50%); width:min(var(--container-max),calc(100% - 2 * max(var(--page-gutter),3rem))); border:1px solid rgba(240,236,229,.22); border-radius:var(--radius-large); background:rgba(33,21,15,.94); box-shadow:0 8px 30px rgba(20,12,8,.16); transition:background 260ms ease,border-color 260ms ease,box-shadow 260ms ease; }
 .home-header > .container { width:100%; max-width:none; height:76px; padding-inline:var(--space-5); gap:var(--space-5); }
 .home-header nav:not(.language-switcher) { gap:16px; }
 .home-header nav a,.home-portal-link { font-size:12px; }
 .home-header .home-header-actions { gap:12px; }
 .home-header .home-portal-link { border-left:1px solid rgba(240,236,229,.25); padding-left:14px; }
 .home-header .button--outline { background:rgba(240,236,229,.05); border-color:rgba(240,236,229,.65); min-height:44px; }
 .home-header .button--outline:hover { background:var(--brown-800); border-color:var(--sand-400); }
 .home-header nav a[aria-current="location"] { color:var(--white); text-decoration:underline; text-underline-offset:7px; text-decoration-thickness:1px; }
 .home-hero { height:640px; min-height:640px; }
 .home-hero > .container { padding-top:164px; }
 @supports ((backdrop-filter:blur(16px)) or (-webkit-backdrop-filter:blur(16px))) {
  .home-header { background:rgba(33,21,15,.60); backdrop-filter:blur(16px) saturate(90%); -webkit-backdrop-filter:blur(16px) saturate(90%); }
  .home-header.is-past-hero { background:rgba(33,21,15,.9); border-color:rgba(240,236,229,.28); }
 }
}

/* Scroll states only: the hero composition and document flow remain unchanged. */
@media (min-width:1200px) {
 .home-header { transition:transform 260ms ease,top 260ms ease,background 260ms ease,border-color 260ms ease,box-shadow 260ms ease; }
 .home-header > .container { transition:height 260ms ease,padding 260ms ease; }
 .home-header.is-past-hero { top:14px; box-shadow:0 4px 16px rgba(20,12,8,.10); }
 .home-header.is-past-hero > .container { height:60px; padding-block:0; }
 .home-header.is-scroll-hidden:not(:focus-within):not(:hover) { transform:translate(-50%,calc(-100% - 32px)); }
 .home-header:focus-within { transform:translateX(-50%); }
}

/* Institutional desktop footer: shared container and deliberate internal axes. */
@media (min-width:1200px) {
 .home-footer { padding:var(--space-8) 0 0; }
 .home-footer-grid { display:grid; grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr)); gap:0; padding-bottom:var(--space-6); }
 .home-footer-grid > div { grid-column:span 2; min-width:0; padding-inline:var(--space-5); border-left:var(--border-default); }
 .home-footer-grid > div:first-child { border:0; padding-left:0; display:flex; flex-direction:column; justify-content:flex-start; align-items:center; text-align:center; }
 .home-footer-grid > div:last-child { padding-right:0; }
 .home-footer-grid > div:nth-child(3) { grid-column:span 4; }
 .home-footer-grid > div:nth-child(3) h2 { text-align:center; }
 .home-footer h2 { font:500 11px/1.5 var(--font-interface); letter-spacing:.18em; text-transform:uppercase; margin:0 0 var(--space-6); }
 .home-footer .home-wordmark > span { font-size:28px; }
 .home-footer .home-wordmark > small { font-size:9px; }
 .home-footer-grid > div:first-child p { font:400 23px/1.2 var(--font-editorial); margin-top:var(--space-6); }
 .home-footer-grid > div:nth-child(2) ul { display:flex; flex-direction:column; gap:0; }
 .home-footer-grid > div:nth-child(3) ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 var(--space-5); }
 .home-footer li { font-size:14px; line-height:1.45; }
 .home-footer li a,.home-footer li button { min-height:40px; align-items:center; }
 .home-footer-grid > div:nth-child(4) li:first-child { min-height:40px; display:flex; align-items:center; }
 .home-footer .footer-conversation p { font-size:14px; margin:0 0 var(--space-5); }
 .footer-conversation .arrow-link { font:400 17px/1.2 var(--font-editorial); white-space:nowrap; gap:8px; border-bottom:var(--border-default); padding-block:var(--space-2); min-height:44px; }
 .home-footer-bottom { border-top:var(--border-default); display:grid; grid-template-columns:1fr auto; align-items:center; gap:var(--space-5); margin:0; padding-block:var(--space-3); }
 .home-footer-bottom > small { font-size:12px; }
 .home-footer-bottom > div { gap:var(--space-5); }
 .home-footer-bottom a,.home-footer-bottom button { font-size:12px; min-height:32px; white-space:nowrap; }
}

/* Final desktop closing: real Portal image and readable comparison, no footer overrides. */
@media (min-width:1200px) {
 .home-portal { padding-block:24px; }
 .home-portal > .container { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--grid-gap); min-height:0; align-items:center; }
 .home-portal > .container > .portal-copy { grid-column:span 4; padding:0; }
 .home-portal > .container > .portal-asset { grid-column:span 8; }
 .portal-copy .eyebrow { font-size:11px; margin-bottom:14px; }
 .portal-copy h2 { font:400 48px/1.02 var(--font-editorial); letter-spacing:-.025em; text-transform:none; color:var(--white); margin-bottom:18px; }
 .portal-copy h2 em { color:var(--sand-400); }
 .portal-copy p { max-width:390px; font-size:15px; line-height:1.5; margin:0 0 12px; }
 .portal-copy .portal-values { font-size:13px; color:var(--sand-400); margin:0 0 16px; }
 .portal-copy .arrow-link { color:var(--sand-200); }
 .portal-asset { transform:none; transform-origin:initial; align-self:center; margin:0; padding:0; min-height:0; border:1px solid rgba(203,177,139,.4); border-radius:var(--radius-small); box-shadow:0 12px 28px rgba(0,0,0,.18); overflow:hidden; }
 .portal-asset img { display:block; width:100%; height:auto; }
 .comparison-stage { height:auto; aspect-ratio:2; }
 .comparison-stage img { object-fit:contain; object-position:center; }
 .comparison-controls { display:flex; gap:16px; justify-content:flex-end; margin-top:4px; }
 .comparison-controls button { min-height:44px; padding:4px 12px; border:var(--border-default); border-radius:var(--radius-small); background:transparent; color:inherit; font:400 12px var(--font-interface); cursor:pointer; }
 .comparison-controls button[aria-pressed="true"] { background:var(--ivory-100); border-color:var(--brown-800); }
 .comparison-range { touch-action:pan-y; }
 /* Group introductions with their content; preserve their established editorial axes. */
 .home-projects .home-heading > div:first-child { grid-column:span 5; }
 .home-projects .home-heading > .heading-aside { grid-column:span 7; }
 .home-services .home-heading { row-gap:8px; }
 .home-services .home-heading > .heading-aside { gap:0; }
 .home-services .heading-aside p { max-width:68ch; }
 .audience-copy h2 { max-width:none; }
 .home-audience figure .picture { position:absolute; inset:0; }
 .home-audience figure img { height:100%; }
 .home-process .home-heading > div:first-child { grid-column:span 7; }
 .home-process .home-heading > .heading-aside { grid-column:span 5; }
 .home-process .heading-aside p { margin-top:0; }
}
/* Maintain headline contrast where the panoramic tree enters the wide-screen text area. */
@media (min-width:1600px) {
 .home-hero::after { background:linear-gradient(90deg,rgba(30,22,14,.50),rgba(30,22,14,.36) 36%,rgba(30,22,14,.06) 65%,transparent),linear-gradient(0deg,rgba(30,22,14,.32),transparent 20%); }
}

/* Portal reference revision: compact horizontal band, real capture and grouped benefits. */
@media (min-width:1200px) {
 .home-portal { padding:0; background:linear-gradient(100deg,var(--brown-950),var(--brown-900) 55%,var(--brown-950)); }
 .home-portal > .container { height:330px; min-height:330px; grid-template-columns:3.4fr 5.2fr 3.4fr; gap:32px; align-items:center; }
 .home-portal > .container > .portal-copy,
 .home-portal > .container > .portal-asset,
 .home-portal > .container > .portal-features { grid-column:auto; }
 .portal-copy .eyebrow { font-size:10px; margin-bottom:10px; }
 .portal-copy h2 { font-size:38px; margin-bottom:12px; }
 .portal-copy p { font-size:14px; line-height:1.45; margin:0 0 14px; }
 .portal-copy .button { min-height:44px; font-size:12px; padding:8px 18px; gap:16px; }
 .portal-asset { align-self:start; margin:28px 0 0; transform:rotate(-4deg); transform-origin:center top; border:3px solid var(--brown-900); border-radius:var(--radius-small); box-shadow:0 0 0 1px rgba(203,177,139,.45),0 12px 24px rgba(0,0,0,.2); }
 .portal-features { gap:12px; color:var(--camel-500); }
 .portal-features > div { gap:12px; font-size:11px; }
 .portal-features .line-icon { width:44px; height:44px; border-color:var(--camel-500); color:var(--camel-500); }
}
/* Approved Portal micro-adjustments; desktop composition is now frozen. */
@media (min-width:1200px) {
 .home-portal .portal-features { width:calc(100% - 24px); max-width:320px; justify-self:center; gap:8px; }
 .home-portal .portal-copy .button--outline { border-color:var(--sand-200); color:var(--white); }
}
/* Before/After: fill the frame with controlled crops; neutral fallback only. */
@media (min-width:1200px) {
 .home-comparison .comparison-stage { aspect-ratio:16 / 9; background:var(--ivory-50); }
 .home-comparison .comparison-stage img { object-fit:cover; }
 .home-comparison .comparison-before img { object-position:50% 50%; }
 .home-comparison .comparison-after img { object-position:50% 25%; }
}
/* Approved comparison finishing details; preserve frame, crop and interaction. */
@media (min-width:1200px) {
 .home-comparison .comparison-copy h2 { margin-bottom:8px; }
 .home-comparison .comparison-copy > p { margin:0 0 4px; }
 .home-comparison .comparison-figure { display:grid; grid-template-columns:1fr auto; column-gap:16px; row-gap:4px; align-items:center; }
 .home-comparison .comparison-stage { grid-column:1 / -1; }
 .home-comparison .comparison-figure figcaption { margin:0; color:var(--brown-950); }
 .home-comparison .comparison-controls { margin:0; gap:12px; }
}

/* Approved focal desktop correction: optical Portal center and process breathing room. */
@media (min-width: 1200px) {
  .home-portal > .container { grid-template-columns: 1fr 2fr 1fr; }
  .home-portal .portal-asset { transform: rotate(-4deg); transform-origin: center center; }
  .home-process .home-timeline { margin-top: 64px; }
  .home-process .home-timeline li { border-top-color: var(--sand-400); display: flex; flex-direction: column; gap: 8px; padding-top: 18px; }
  .home-process .timeline-dot { width: 10px; height: 10px; top: -5.5px; }
  .home-process .step-number { font-size: 22px; line-height: 1; color: var(--camel-500); }
  .home-process .home-timeline h3 { font-size: 14px; font-weight: 500; margin-bottom: 6px; }
  .home-process .home-timeline p { font-size: 12px; line-height: 1.4; }
}

/* Portal artwork explicitly supplied and requested as replacement. */
.home-portal-banner { width:100%; background:var(--brown-950); }
.portal-banner-link { display:block; width:100%; }
.portal-banner-link img { display:block; width:100%; height:auto; }
.portal-banner-link:focus-visible { outline:3px solid var(--sand-400); outline-offset:-5px; }

/* User-approved desktop Portal crop: preserve width and internal proportions. */
@media (min-width:1200px) {
  .home-portal-banner { aspect-ratio:4.8 / 1; overflow:hidden; }
  .home-portal-banner .portal-banner-link { height:100%; }
  .home-portal-banner .portal-banner-link img { width:100%; height:100%; object-fit:cover; object-position:center center; }
}

/* Desktop header type and distribution only; retain approved heights and motion. */
@media (min-width:1200px) {
 .home-header > .container { display:grid; grid-template-columns:auto minmax(0,1fr) auto; column-gap:24px; }
 .home-header nav:not(.language-switcher) { justify-self:center; gap:22px; }
 .home-header nav:not(.language-switcher) a { font-size:14px; line-height:1; font-weight:500; }
 .home-header .language-switcher a,.home-header .home-portal-link { font-size:13px; line-height:1; }
 .home-header .home-header-actions { gap:12px; flex-shrink:0; }
 .home-header .button { font-size:14px; white-space:nowrap; gap:14px; }
 .home-header nav a[aria-current="location"] { text-underline-offset:8px; text-decoration-thickness:1px; }
}

.review-stars { display:flex; gap:3px; color:var(--camel-500); margin-bottom:10px; }
.review-stars svg { width:13px; height:13px; fill:currentColor; flex:none; }
.review-origin { display:block; margin-top:6px; font-size:11px; text-underline-offset:3px; }

/* Explicitly authorized Process-only editorial revision. */
.home-page .home-process { padding-block:72px 80px; background:var(--ivory-50); position:relative; }
.home-process .home-heading { display:grid; grid-template-columns:62fr 38fr; gap:40px; align-items:center; }
.home-process .home-heading > div:first-child,.home-process .home-heading > .heading-aside { grid-column:auto; }
.home-process .eyebrow::after { content:''; display:inline-block; width:56px; height:1px; background:var(--sand-400); vertical-align:middle; margin-left:20px; }
.home-page .home-process h2 { font-size:clamp(52px,4vw,72px); line-height:.98; letter-spacing:-.035em; max-width:none; }
.home-process h2 em { display:block; color:var(--camel-500); }
.home-process .heading-aside { border-left:1px solid var(--sand-400); padding:8px 0 8px 40px; }
.home-process .heading-aside p { font-size:17px; line-height:1.55; max-width:380px; margin:0 0 18px; }
.home-process .heading-aside .arrow-link { font-size:12px; letter-spacing:.2em; text-transform:uppercase; border-bottom:1px solid var(--sand-400); padding-bottom:10px; white-space:normal; text-align:left; }
.home-process .heading-aside .arrow-link svg { transition:transform 220ms ease; }
.home-process .heading-aside .arrow-link:hover svg { transform:translateX(4px); }
.home-process .home-timeline { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; margin-top:76px; }
.home-process .home-timeline::before { content:''; position:absolute; top:0; inset-inline:0; height:1px; background:var(--sand-200); }
.home-process .home-timeline li { display:flex; flex-direction:row; align-items:flex-start; gap:14px; min-height:168px; padding:42px 16px 24px; border:1px solid var(--sand-200); border-radius:var(--radius-small); background:var(--white); box-shadow:0 10px 30px #2c1d1506; transition:transform 220ms ease,border-color 220ms ease; }
.home-process .home-timeline li:hover { transform:translateY(-3px); border-color:var(--camel-500); }
.home-process .step-number { position:absolute; top:-26px; left:calc(50% - 26px); width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:var(--camel-500); color:var(--ivory-50); font:400 20px/1 var(--font-editorial); }
.home-process .timeline-dot { width:8px; height:8px; top:-4px; left:calc(100% + 5px); background:var(--camel-500); }
.home-process li:last-child .timeline-dot { display:none; }
.home-process .process-icon { flex-shrink:0; color:var(--camel-500); }
.home-process .process-icon svg { width:36px; height:42px; stroke-width:1.4; }
.home-process .home-timeline h3 { font:400 23px/1.1 var(--font-editorial); color:var(--brown-900); margin:0 0 8px; }
.home-process .home-timeline p { font-size:13px; line-height:1.5; margin:0; }
@media (max-width:1100px) {
 .home-process .home-heading { grid-template-columns:1.3fr .7fr; gap:24px; }
 .home-process .heading-aside { padding-left:24px; }
 .home-process .home-timeline { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:48px; }
 .home-process .timeline-dot { display:none; }
}
@media (max-width:767px) {
 .home-page .home-process { padding-block:64px 72px; }
 .home-process .home-heading { grid-template-columns:1fr; gap:28px; }
 .home-page .home-process h2 { font-size:clamp(40px,11vw,54px); }
 .home-process .heading-aside { padding-left:20px; }
 .home-process .home-timeline { grid-template-columns:1fr; gap:24px; padding-left:48px; margin-top:48px; }
 .home-process .home-timeline::before { top:0; bottom:0; left:18px; width:1px; height:auto; }
 .home-process .home-timeline li { min-height:130px; padding:26px 20px; }
 .home-process .step-number { left:-49px; top:24px; width:38px; height:38px; }
}
@media (prefers-reduced-motion:reduce) {
 .home-process .home-timeline li,.home-process .heading-aside .arrow-link svg { transition:none; transform:none; }
}

/* Process fidelity review: desktop only, no shared tokens changed. */
@media (min-width:1101px) {
 .home-page .home-process { padding-block:88px 96px; }
 .home-process .home-heading { grid-template-columns:62fr 38fr; gap:32px; }
 .home-page .home-process h2 { font-size:clamp(58px,4.5vw,72px); line-height:1.05; }
 .home-process .heading-aside { padding-left:32px; }
 .home-process .home-timeline { margin-top:80px; }
 .home-process .home-timeline::before { z-index:1; background:color-mix(in srgb,var(--camel-500) 42%,transparent); }
 .home-process .home-timeline li { min-height:176px; padding:46px 20px 28px; gap:14px; background:color-mix(in srgb,var(--white) 30%,var(--ivory-50)); border-color:color-mix(in srgb,var(--camel-500) 20%,transparent); box-shadow:none; }
 .home-process .step-number { z-index:2; width:56px; height:56px; top:-28px; left:calc(50% - 28px); font-size:18px; }
 .home-process .timeline-dot { z-index:2; }
 .home-process .process-icon svg { width:34px; height:36px; }
 .home-process .home-timeline h3 { font-size:24px; }
}
/* Mobile containment: shared PT/EN, desktop remains untouched. */
@media(max-width:767px){
 .home-page .home-header>.container{height:auto;min-height:90px;flex-wrap:wrap;gap:8px;padding-block:12px}
 .home-page .home-header nav:not(.language-switcher){display:flex;flex-wrap:wrap;gap:4px 14px;width:100%;order:3;justify-content:flex-start}
 .home-page .home-header-actions{flex-wrap:wrap;gap:8px;max-width:100%}
 .home-page .home-header .button{white-space:normal;padding-inline:12px}
 .home-page .home-header{background:var(--brown-950)}
 .home-page .home-hero>.container{padding-top:220px}
 .home-page .home-hero h1{font-size:44px}
 .home-page .home-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .home-page .home-footer-grid>div{min-width:0;overflow-wrap:anywhere}
 .home-page .home-footer-grid>div:first-child,.home-page .home-footer-grid>div:nth-child(3){grid-column:1/-1}
 .home-page .home-footer-bottom,.home-page .home-footer-bottom>div{flex-wrap:wrap}
 .home-page .home-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .service-card--secondary{flex-direction:column;align-items:stretch;padding-right:0}
 .home-page .service-card--secondary .picture{width:100%}
 .home-page .service-copy{min-width:0;overflow-wrap:anywhere}
 .home-page .service-card--secondary>.icon{position:static;transform:none}
}
@media(max-width:767px){
 .home-page .home-heading,.home-page .projects-grid,.home-page .authority-grid,.home-page .home-comparison>.container,.home-page .home-testimonials>.container,.home-page .reviews-grid,.home-page .home-faq>.container,.home-page .home-conversation>.container{grid-template-columns:minmax(0,1fr);gap:24px}
 .home-page .authority-grid,.home-page .home-audience>.container{display:grid;grid-template-columns:minmax(0,1fr)}
 .home-page .authority-copy h2,.home-page .home-clients h2{white-space:normal}
 .home-page .authority-stats{display:flex;flex-wrap:wrap;gap:20px}
 .home-page .home-heading .heading-aside{display:block}
 .home-page .heading-aside .arrow-link{white-space:normal}
 .home-page .hero-bottom{position:static;display:block;margin-top:24px}
 .home-page .hero-trust{flex-wrap:wrap;gap:12px}
 .home-page .home-hero{height:auto;max-height:none;min-height:660px}
 .home-page .home-hero>.container{padding-bottom:32px}
 .home-page .button-row{flex-wrap:wrap}
 .home-page .home-brands{grid-template-columns:repeat(4,minmax(0,1fr))}
 .home-page .home-brands>*{grid-column:auto}
 .home-page .home-services-secondary,.home-page .audience-grid,.home-page .home-faq-grid{grid-template-columns:minmax(0,1fr)}
 .home-page .home-audience>.container>*{width:auto;min-width:0}
}
