/* Homepage: quiet editorial rhythm and original contour study. */
.home-page .consult-hero { margin-bottom:0; }
.home-page .consult-hero .hero-copy { padding-top:64px; padding-bottom:64px; }
.home-page .consult-hero .lead { font-size:16px; line-height:1.85; }
.home-page .consult-hero .role-title { margin-bottom:28px; }
.clarity-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:8%; align-items:center; background:#102a35; color:#f2efe7; padding-top:85px; padding-bottom:85px; }
.clarity-copy .eyebrow { color:#c6aa80; }
.clarity-copy h2 { font-size:clamp(36px,4vw,58px); line-height:1.08; font-weight:400; letter-spacing:-.03em; }
.clarity-copy p { color:#c4cfce; font-size:16px; line-height:1.9; max-width:420px; }
.clarity-copy .film-text-link { margin-top:16px; border-bottom:1px solid #6e7975; padding-bottom:5px; }
.clarity-experience { min-width:0; }
.clarity-art { position:relative; background:radial-gradient(ellipse at 50% 50%,#1b3e49,transparent 65%); }
.clarity-art svg { display:block; width:100%; overflow:visible; }
.contour-field { transform-origin:400px 230px; transition:transform 1.8s cubic-bezier(.22,1,.36,1); }
.contour-field path { fill:none; stroke:url(#contour-colour); stroke-width:.8; opacity:.58; transform-origin:400px 230px; animation:contour-breathe 12s ease-in-out infinite; animation-delay:calc(var(--i) * -0.14s); }
.clarity-centre { fill:#dec39b; opacity:.7; }
[data-mode="evaluate"] .contour-field { transform:rotate(-24deg) scale(.82,1.25); }
[data-mode="integrate"] .contour-field { transform:rotate(27deg) scale(1.02,.85); }
.clarity-pause { position:absolute; top:0; right:0; border:1px solid #617780; color:#c6d4d2; background:transparent; padding:8px 12px; font-size:11px; cursor:pointer; min-height:36px; }
.clarity-art-note { position:absolute; bottom:10px; left:0; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#9cafb0; }
.perspective-controls { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #49616a; margin-top:20px; }
.perspective-controls button { display:flex; gap:10px; align-items:center; padding:17px 0; font-size:11px; text-align:left; color:#8ca3a7; cursor:pointer; background:none; border:0; border-top:2px solid transparent; margin-top:-1px; }
.perspective-controls button span { font-size:14px; }
.perspective-controls button[aria-pressed="true"] { border-top-color:#d3b487; color:#eddfc9; }
.clarity-experience button:focus-visible { outline:2px solid #e1c59d; outline-offset:4px; }
.perspective-description { font-size:14px; color:#c5d1cf; min-height:3.5em; line-height:1.7; max-width:470px; margin:8px 0 12px; }
.clarity-disclosure { color:#9aafb0; font-size:10px; margin:0; }
.paused .contour-field path { animation-play-state:paused; }
@keyframes contour-breathe { 0%,100% { transform:rotate(-5deg) scale(.96); opacity:.38; } 50% { transform:rotate(5deg) scale(1.035); opacity:.8; } }
.home-page > .section:not(.clarity-section) { padding-top:85px; padding-bottom:85px; }
.home-page .tile { background:transparent; border-radius:0; box-shadow:none; border:0; border-top:1px solid #b9b9ac; padding:28px 10px 20px 0; }
.home-page .tile:hover { background:transparent; transform:translateY(-3px); }
@media(max-width:780px) { .clarity-section { grid-template-columns:1fr; gap:40px; padding:56px 7%; } .clarity-art { margin-top:15px; } .home-page .consult-hero .hero-copy { padding:48px 7%; } .home-page > .section:not(.clarity-section) { padding-top:56px; padding-bottom:56px; } .clarity-copy h2 { font-size:42px; } }
@media(prefers-reduced-motion:reduce) { .contour-field,.contour-field path { animation:none!important; transition:none; } }

/* A single closing signature, with two complementary lines. */
.home-principles { overflow:hidden; padding:38px 0 32px; background:#e9e8df; border-top:1px solid #d3d4c8; border-bottom:1px solid #d3d4c8; }
.principles-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:0 var(--gutter,6%); margin-bottom:25px; }
.principles-heading h2 { font-family:Arial,sans-serif; font-size:10px; font-weight:400; text-transform:uppercase; letter-spacing:.16em; margin:0; color:#65746d; }
.principles-toggle { background:transparent; color:#4f625c; border:1px solid #aeb9ac; padding:8px 12px; min-height:44px; font-size:11px; cursor:pointer; }
.principles-toggle:focus-visible { outline:2px solid #102a35; outline-offset:4px; }
.principles-window { overflow:hidden; }
.principles-track { display:flex; width:max-content; animation:principles-flow 46s linear infinite; }
.principles-group { display:flex; align-items:center; flex-shrink:0; list-style:none; margin:0; padding:12px 0; }
.principles-group li { display:flex; align-items:center; gap:48px; padding-right:48px; white-space:nowrap; font:400 clamp(25px,3.2vw,43px)/1.5 Georgia,serif; letter-spacing:-.02em; color:#18343b; }
.principles-group li::after { content:'✦'; font-size:13px; color:#a18156; }
.reverse .principles-track { animation-direction:reverse; animation-duration:58s; }
.reverse .principles-group li { font-size:clamp(18px,2.4vw,30px); color:#6f735f; }
.home-principles:hover .principles-track,.home-principles:focus-within .principles-track,.home-principles.motion-paused .principles-track { animation-play-state:paused; }
@keyframes principles-flow { to { transform:translateX(-50%); } }
@media(max-width:780px) { .home-principles { padding:26px 0; } .principles-heading { padding-inline:7%; margin-bottom:14px; } .principles-group li { gap:28px; padding-right:28px; } }
@media(prefers-reduced-motion:reduce) { .principles-track { animation:none; width:auto; } .principles-group { flex-wrap:wrap; gap:12px 24px; padding:12px 7%; } .principles-group[aria-hidden] { display:none; } .principles-group li { white-space:normal; gap:20px; padding:0; font-size:23px; } .reverse .principles-group li { font-size:18px; } }
