/* Rolen polish layer: softer UI kit, full-bleed bands, smoother story motion. Loaded last. */
:root{--r-pill:999px;--r-field:12px;--r-card:18px;--r-ease:cubic-bezier(.22,1,.36,1)}
html{background:#162c3f}
body.home-editorial{background:#fff}

/* Hero: true full screen on phones (covers area behind iOS toolbars) */
body.home-editorial .hero{height:100vh;height:100lvh;min-height:600px;max-height:none}

/* Softer UI kit: rounded buttons and fields everywhere */
.home-editorial .button,.home-editorial .dark-button,.rebuild-review-submit,.mh-primary,.pkg-enquire,.resource-action,.home-editorial .proof-cards~* .button{border-radius:var(--r-pill)!important}
.home-editorial .button,.rebuild-review-submit{transition:background .35s var(--r-ease),transform .35s var(--r-ease),box-shadow .35s var(--r-ease)}
@media(hover:hover){.home-editorial .button:hover,.rebuild-review-submit:hover{transform:translateY(-1px);box-shadow:0 12px 28px -14px rgb(22 44 63/.55)}}
.rebuild-review-submit{justify-content:center;gap:12px;padding:15px 28px}
.rebuild-review-form input,.rebuild-review-form select{border-radius:var(--r-field)!important;border-color:#cfd3d1!important;background:#fff;transition:border-color .25s,box-shadow .25s}
.rebuild-review-form input:focus,.rebuild-review-form select:focus{border-color:#162c3f!important;box-shadow:0 0 0 4px rgb(188 162 125/.25);outline:0}
.rebuild-start-guide h3{font:400 clamp(26px,2.4vw,34px)/1.15 Georgia,serif;margin:0 0 14px}
.rebuild-email-fallback{text-decoration:none;border-bottom:1px solid #bca27d}

/* Maxim: portrait instead of film */
.maxim-photo{margin:0}
.maxim-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:var(--r-card)}
@media(min-width:761px){.maxim-photo img{max-height:78vh}}

/* Proof band: full-bleed Ink band, no white gutters */
.home-editorial .refined-proof{margin:0!important;max-width:none!important;width:100%;box-sizing:border-box;border:0!important;background:#162c3f;color:#f4f1eb;padding:clamp(48px,6vw,88px) 6.4% clamp(28px,3vw,40px)!important;grid-template-columns:repeat(4,1fr);gap:0}
.home-editorial .refined-proof>a{position:relative;padding:8px clamp(16px,2.4vw,40px)!important;border:0!important;color:inherit;text-decoration:none;transition:transform .5s var(--r-ease)}
.home-editorial .refined-proof>a+a::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:linear-gradient(transparent,#bca27d88,transparent)}
.home-editorial .refined-proof>a:first-child{padding-left:0!important}
.home-editorial .refined-proof>a>span{color:#bca27d;font-size:10px;letter-spacing:.16em}
.home-editorial .refined-proof strong{font:400 clamp(34px,3.6vw,58px)/1.05 Georgia,serif;margin-top:18px;letter-spacing:-.01em;color:#fff}
.home-editorial .refined-proof p{color:#f4f1ebb3;font-size:13px;margin-top:10px}
@media(hover:hover){.home-editorial .refined-proof>a:hover{transform:translateY(-3px)}.home-editorial .refined-proof>a:hover p{color:#bca27d}}
.home-editorial .refined-proof small{grid-column:1/-1;margin-top:clamp(28px,3vw,44px);padding-top:18px;border-top:1px solid #ffffff1f;color:#f4f1eb80;font-size:11px;letter-spacing:.06em}
@media(max-width:760px){
 .home-editorial .refined-proof{grid-template-columns:1fr 1fr;padding:44px 24px 24px!important;row-gap:28px}
 .home-editorial .refined-proof>a,.home-editorial .refined-proof>a:first-child{padding:0 14px 0 0!important}
 .home-editorial .refined-proof>a:nth-child(odd){padding-right:14px!important}
 .home-editorial .refined-proof>a:nth-child(even){padding-left:16px!important}
 .home-editorial .refined-proof>a+a::before{display:none}
 .home-editorial .refined-proof>a:nth-child(even)::before{display:block;content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:#bca27d55}
 .home-editorial .refined-proof strong{font-size:32px}
}

/* Build story: smooth crossfade with slow push-in */
.build-frame{transition:opacity 1.1s var(--r-ease),transform 2.4s var(--r-ease)!important;transform:scale(1.04);will-change:opacity,transform}
.build-frame.is-current{transform:scale(1)}
.build-story-media{border-radius:var(--r-card)}
.build-stage-label{transition:opacity .4s}
.build-story [data-build-step]{border-radius:var(--r-pill);transition:background .4s var(--r-ease),color .4s,border-color .4s}
.path-scene img{transition:opacity 1.1s var(--r-ease),transform 2.4s var(--r-ease)!important}

/* Structure to space: clean compare handle */
.build-compare{border-radius:var(--r-card)}
.build-compare .compare-line{border:0!important;width:2px;margin-left:-1px;background:#fff;justify-content:center;color:transparent!important;font-size:0!important;text-shadow:none!important;box-shadow:0 0 18px rgb(0 0 0/.25)}
.build-compare .compare-line::after{content:"";position:absolute;top:50%;left:50%;width:54px;height:54px;transform:translate(-50%,-50%);border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23162c3f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E") center/22px no-repeat;box-shadow:0 10px 30px -8px rgb(22 44 63/.45);transition:transform .3s var(--r-ease)}
.build-compare:active .compare-line::after{transform:translate(-50%,-50%) scale(.92)}
.build-compare .compare-label{border-radius:var(--r-pill);padding:8px 14px;background:rgb(22 44 63/.72);color:#fff;backdrop-filter:blur(6px);font-size:11px;letter-spacing:.08em}

/* Reviews with portraits */
.voice-card{border-radius:var(--r-card)!important;background:#f4f1eb!important;padding:clamp(24px,2.6vw,40px)!important;border:0!important}
.voice-byline{display:flex;align-items:center;gap:14px}
.home-editorial .voice-byline .voice-avatar{display:block;width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 3px #fff}
.voice-card blockquote{font-family:Georgia,serif;font-size:clamp(20px,1.8vw,26px);line-height:1.3}

/* Resource + model home + cards */
.resource-visual,.mh-visit figure img{border-radius:var(--r-card)}
.resource-action{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border:1px solid #162c3f;color:#162c3f;text-decoration:none}
@media(hover:hover){.resource-action:hover{background:#162c3f;color:#fff}}

/* FAQ */
.faq details{border-radius:0;transition:background .3s}
.faq summary{cursor:pointer}
.faq details[open] summary span{transform:rotate(45deg)}
.faq summary span{display:inline-block;transition:transform .35s var(--r-ease)}

/* Contact CTA card */
.contact-cta{background:#f4f1eb;border-radius:24px;padding:clamp(28px,4vw,56px);align-self:start}
.contact-cta h3{font:400 clamp(28px,2.6vw,40px)/1.1 Georgia,serif;margin:0 0 12px}
.contact-points{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:12px;font-size:14px;color:#3f4f5a}
.contact-points li{display:flex;gap:12px;align-items:baseline}
.contact-points li::before{content:"";width:18px;height:1px;background:#bca27d;flex:none;transform:translateY(-4px)}
.contact-cta .button{width:100%;justify-content:center;gap:12px;margin-top:0}
.contact-cta .form-note{margin-top:16px;font-size:13px}

/* Lazy reveal */
.reveal{opacity:0;translate:0 22px;transition:opacity .9s var(--r-ease) var(--d,0ms),translate .9s var(--r-ease) var(--d,0ms)}
.reveal.is-in{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;translate:none;transition:none}.build-frame,.path-scene img{transition:none!important;transform:none!important}}
@media(max-width:760px){.home-editorial .refined-proof strong{font-size:clamp(24px,7.4vw,32px);overflow-wrap:anywhere}}
.home-editorial .hero .light-button{border:1px solid rgb(255 255 255/.7)!important;padding:14px 28px!important;background:rgb(255 255 255/.06);backdrop-filter:blur(6px);min-height:48px}
@media(hover:hover){.home-editorial .hero .light-button:hover{background:#fff;color:#162c3f;box-shadow:none}}
@media(max-width:760px){.contact-cta{margin-top:36px;padding:28px 22px}}

/* Rebuild form: compact floating-label fields */
.rebuild-review-form{gap:12px}
.rebuild-field-pair{gap:12px}
.rebuild-review-submit{margin-top:4px}
.rebuild-email-fallback{margin-top:2px}

/* Build story stage nav: slim progress segments on phones */
@media(max-width:760px){
 .home-editorial .build-stage-nav,.build-stage-nav{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:6px!important;border:0!important;padding:0!important;margin-top:4px}
 .build-story [data-build-step]{all:unset;box-sizing:border-box;display:block;cursor:pointer;padding:12px 0 4px;position:relative;font:500 11px/1 Inter,sans-serif;letter-spacing:.08em;color:#8a9296;text-align:left;font-size:0}
 .build-story [data-build-step] span{font-size:11px;display:block}
 .build-story [data-build-step]::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;border-radius:2px;background:#d6d2c9;transition:background .4s}
 .build-story [data-build-step][aria-pressed=true]{color:#162c3f}
 .build-story [data-build-step][aria-pressed=true]::before{background:#162c3f}
 .build-story [data-build-step]::after{display:none!important}
}

/* Home tour: immersive full-bleed video */
.home-tour video{width:100%;border-radius:var(--r-card);object-fit:cover;background:#162c3f}
@media(max-width:760px){
 .home-tour video{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;border-radius:0;aspect-ratio:4/5;height:auto}
}

/* Footer: tighter mobile rhythm */
@media(max-width:760px){
 .rolen-footer{padding:48px 24px 28px!important}
 .rolen-footer .footer-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:32px 20px!important;margin-top:28px!important}
 .rolen-footer .footer-brand{grid-column:1/-1;display:grid;gap:6px;padding-bottom:24px;border-bottom:1px solid #ffffff1f}
 .rolen-footer .footer-brand img{width:132px;height:auto;margin-bottom:10px}
 .rolen-footer .footer-brand p{margin:0 0 4px;font:400 22px/1.2 Georgia,serif}
 .rolen-footer .footer-grid h3{font-size:10px!important;letter-spacing:.14em;margin:0 0 12px!important;color:#bca27d}
 .rolen-footer .footer-grid>div:not(.footer-brand){display:grid;gap:10px;align-content:start}
 .rolen-footer .footer-grid a{font-size:14px!important;line-height:1.3!important;padding:0!important;min-height:0!important}
 .rolen-footer .footer-grid>div:last-child{grid-column:1/-1}
 .rolen-footer .social-trust{display:flex!important;flex-wrap:wrap;gap:8px!important;margin-top:28px!important;padding:0!important}
 .rolen-footer .social-trust a{font-size:12px!important;padding:8px 12px!important;border:1px solid #ffffff2e;border-radius:999px}
 .rolen-footer .footer-base{display:grid!important;gap:6px!important;margin-top:24px!important;font-size:11px!important;line-height:1.5}
 .rolen-footer .footer-regions summary{font-size:15px!important}
}
.fl-field{margin:0!important}
@media(max-width:760px){
 html body section.home-tour.section video{width:100vw!important;max-width:none!important;margin:0 0 0 -24px!important;border-radius:0!important;aspect-ratio:4/5!important;height:auto!important;object-fit:cover!important}
 .rolen-footer .social-trust{justify-content:flex-start!important}
}
@media(max-width:760px){html body .rolen-footer .social-trust{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-items:flex-start!important;text-align:left!important}html body .rolen-footer .social-trust a{width:auto!important;margin:0!important}}
