/* A compact editorial homepage; original brand assets are preserved. */
.home-experience .site-header{position:relative;inset:auto;background:#101718;border-bottom:1px solid #ffffff20}
.home-experience .nav-shell{min-height:82px;padding-block:12px}
.home-experience .credential-bar{letter-spacing:.04em;white-space:normal;line-height:1.5}
.home-experience .home-hero{background:var(--paper);padding:46px 0 30px;overflow:hidden}
.hero-studio{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:52px}
.studio-copy{min-width:0}
.studio-copy .eyebrow,.home-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}
.studio-copy h1{font:500 clamp(2.8rem,4.4vw,4rem)/1.07 var(--serif);letter-spacing:-.04em;margin:0 0 22px;max-width:520px;text-wrap:balance}
.studio-copy h1 span{color:var(--accent)}
.studio-lead{font-size:1rem;line-height:1.75;max-width:440px;color:var(--muted);margin:0 0 25px}
.studio-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.studio-actions .button{padding-inline:20px;min-height:50px;border-radius:3px}
.studio-secondary{font-size:.86rem;font-weight:700;padding:12px 0;text-underline-offset:6px}
.studio-signature{display:flex;gap:14px;align-items:center;margin-top:28px;border-top:1px solid var(--line);padding-top:20px}
.studio-signature img{width:47px;height:47px;object-fit:contain;flex-shrink:0}
.studio-signature p{margin:0;font-size:.85rem;font-weight:700;line-height:1.5}
.studio-signature small{display:block;font-size:.75rem;color:var(--muted);font-weight:400}
.studio-visual{margin:0;min-width:0;position:relative}
.studio-stage{position:relative;overflow:hidden;border-radius:4px;background:#102129;aspect-ratio:1.25}
.studio-stage>img,.studio-stage>video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.studio-stage>video{object-fit:contain;background:#080c10}
.studio-location{position:absolute;top:18px;left:18px;display:flex;align-items:center;gap:8px;background:#0e191de8;color:#fff;padding:7px 12px;border:1px solid #ffffff40;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
.studio-location:before{content:'';width:5px;height:5px;border-radius:50%;background:#e1bd72}
.studio-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;flex-wrap:wrap}
.scene-switcher{display:flex;gap:5px;flex-wrap:wrap}
.scene-switcher button{font:600 .75rem var(--sans);border:1px solid var(--line);background:var(--surface);color:var(--ink);min-height:42px;padding:9px 12px;cursor:pointer;border-radius:2px}
.scene-switcher button[aria-pressed="true"]{color:#fff;background:#14272b;border-color:#14272b}
.film-toggle{min-height:42px;padding:8px 2px;display:flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--ink);font:600 .78rem var(--sans);cursor:pointer}
.film-toggle span{border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;width:25px;height:25px;font-size:.7rem}
.studio-caption{font-size:.7rem;color:var(--muted);line-height:1.55;margin-top:12px}
.studio-caption a{text-underline-offset:3px}
.home-proof{margin-top:34px;padding:19px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}
.home-proof span{display:flex;align-items:center;gap:9px}
.home-proof b{color:var(--accent);font-size:.9rem;font-weight:400}
.home-route{padding:62px 0;background:var(--cream);border-block:1px solid var(--line);scroll-margin-top:20px}
.home-section-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:28px}
.home-section-head h2,.home-social h2{font:500 clamp(2rem,3.2vw,2.8rem)/1.13 var(--serif);letter-spacing:-.025em;margin:0;text-wrap:balance}
.home-section-head>p{max-width:350px;color:var(--muted);font-size:.9rem;margin:0}
.goal-switcher{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.goal-switcher button{min-height:48px;padding:11px 24px;font:700 .88rem var(--sans);cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:3px}
.goal-switcher button[aria-pressed="true"]{background:#14272b;color:#fff;border-color:#14272b;box-shadow:inset 0 -3px #c89a42}
.goal-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start;background:var(--surface);border:1px solid var(--line);padding:32px}
.goal-panel h3{font:500 1.7rem/1.2 var(--serif);margin:0 0 13px}
.goal-panel p{font-size:.9rem;color:var(--muted);margin:0 0 20px}
.goal-panel .goal-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.goal-actions .text-link{font-size:.8rem;font-weight:700;color:var(--accent)}
.route-steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:route}
.route-steps li{position:relative;padding:0 0 22px 48px;font-size:.86rem;counter-increment:route;min-height:60px}
.route-steps li:last-child{padding-bottom:0}
.route-steps li:before{content:'0' counter(route);position:absolute;left:0;top:0;color:var(--accent);font:500 1.15rem var(--serif);width:32px;height:32px;border:1px solid var(--line);display:grid;place-items:center}
.route-steps strong{display:block;margin-bottom:5px;font-size:.88rem}
.route-steps span{color:var(--muted)}
.route-note{font-size:.74rem;color:var(--muted);margin:16px 0 0}
.home-experience .compact-section{padding-block:64px}
.home-experience .section h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.15}
.home-experience .mini-tool-grid{border-radius:4px;overflow:hidden}
.home-experience .mini-tool-grid a{min-height:160px}
.home-experience .served-areas{border-radius:4px}
.home-experience .area-list a,.home-experience .area-list span{font-size:.83rem}
.home-experience .resource-grid{gap:14px;border:0}
.home-experience .resource-grid article{border:1px solid var(--line);border-top:3px solid var(--gold);background:var(--surface);padding:26px;min-width:0}
.home-experience .resource-grid h3{font-size:1.45rem}
.home-social{background:#14272b;color:#fff;overflow:hidden}
.social-layout{display:grid;grid-template-columns:280px 1fr;align-items:center;gap:50px}
.social-layout>img{width:100%;height:270px;object-fit:cover;object-position:center 60%;display:block}
.social-copy{padding:35px 0}
.home-social .home-eyebrow{color:#e1bd72}
.home-social p:not(.home-eyebrow){font-size:.9rem;color:#d4dfe2;max-width:550px}
.social-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.social-actions button{background:transparent;border:1px solid #d0dbde;color:#fff;min-height:48px;padding:12px 18px;font:600 .82rem var(--sans);cursor:pointer}
.social-copy small{display:block;margin-top:14px;color:#d4dfe2;font-size:.72rem}
.share-fallback{margin-top:12px;display:block}
.share-fallback input{display:block;width:100%;font:400 .85rem var(--sans);padding:10px}
.home-experience .contact{background:#0c1518}
.home-experience .contact .contact-methods{overflow-wrap:anywhere}
.home-experience .footer-main{gap:28px}
.home-experience .footer-main>img{max-width:110px;height:auto;object-fit:contain}
.reveal-on-entry{animation:home-arrive .55s ease both}
@keyframes home-arrive{from{opacity:.25;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* The promotional landing page keeps one short, local-only enquiry flow. */
.start-page{padding:52px 0 70px;background:var(--paper)}
.start-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:start}
.start-intro h1{font:500 clamp(2.5rem,4vw,3.6rem)/1.08 var(--serif);letter-spacing:-.035em;margin:0 0 20px;text-wrap:balance}
.start-intro>p{color:var(--muted);font-size:.95rem}
.start-image{display:block;width:100%;aspect-ratio:1.8;object-fit:cover;margin:25px 0 10px;border-radius:4px}
.start-intro small{color:var(--muted);font-size:.72rem}
.start-card{padding:30px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:4px;min-width:0}
.start-card h2{font:500 1.7rem var(--serif);margin:0 0 10px}
.start-card>p{font-size:.85rem;color:var(--muted);margin:0 0 24px}
.start-card fieldset{border:0;padding:0;margin:0;min-width:0}
.start-card label{display:block;font-size:.85rem;font-weight:700;margin-bottom:18px}
.start-card select{display:block;width:100%;margin-top:7px;min-height:48px;padding:12px;font:400 1rem var(--sans);border:1px solid var(--input-border);background:var(--surface);color:var(--ink);border-radius:3px}
.start-card button{cursor:pointer}
.start-note{font-size:.76rem;color:var(--muted);line-height:1.6;margin:18px 0 0}
.start-preview{border-top:1px solid var(--line);padding-top:25px;margin-top:26px}
.start-preview h3{font:500 1.5rem var(--serif);margin:0 0 15px}
.start-preview blockquote{margin:0 0 20px;padding:15px;background:var(--soft);font-size:.88rem;color:var(--ink);border-left:2px solid var(--gold);white-space:pre-line;overflow-wrap:anywhere}
.start-options{display:flex;gap:15px;flex-wrap:wrap;font-size:.82rem;margin-top:18px}
.start-next{margin-top:38px;padding:30px;border:1px solid var(--line);background:var(--cream)}
.start-next h2{font:500 1.8rem var(--serif);margin:0 0 15px}
.start-next ol{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:0;list-style-position:inside;font-size:.87rem}
.start-next li::marker{color:var(--accent);font-weight:700}
.start-next li span{display:block;color:var(--muted);margin-top:6px}
.download-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.download-links a{padding:10px 14px;border:1px solid var(--line);background:var(--surface);font-size:.85rem;text-underline-offset:4px}
@media(max-width:1000px){.hero-studio{gap:28px;grid-template-columns:1fr 1fr}.studio-copy h1{font-size:clamp(2.5rem,4.7vw,3.3rem)}.studio-stage{aspect-ratio:.9}.studio-controls{align-items:start}.goal-panel{gap:26px}.start-grid{gap:30px}.social-layout{grid-template-columns:220px 1fr;gap:28px}}
@media(max-width:760px){.home-experience .home-hero{padding-top:28px}.hero-studio,.goal-panel,.start-grid{grid-template-columns:1fr;gap:28px}.studio-copy h1{font-size:clamp(2.4rem,7.4vw,3.2rem);max-width:600px;line-height:1.08}.studio-lead{max-width:560px;margin-bottom:19px}.studio-signature{margin-top:20px;padding-top:16px}.studio-stage{aspect-ratio:1.55}.home-proof{gap:10px;font-size:.72rem;margin-top:25px}.home-section-head{display:block}.home-section-head>p{margin-top:15px;max-width:600px}.home-route,.home-experience .compact-section{padding-block:42px}.goal-panel{padding:24px}.goal-switcher button{flex:1 1 calc(25% - 8px);padding:11px 14px}.social-layout{grid-template-columns:1fr;gap:0}.social-layout>img{height:200px;object-position:center 60%}.social-copy{padding-block:28px}.start-page{padding-top:30px}.start-intro h1{font-size:2.6rem}.start-image{max-height:200px}.start-next ol{grid-template-columns:1fr;gap:18px}.start-card,.start-next{padding:24px}}
@media(max-width:420px){.studio-actions .button{flex:1}.studio-copy h1{font-size:2.5rem}.studio-controls{gap:6px}.scene-switcher button{padding-inline:10px}.home-proof span{flex:1 1 45%}.goal-switcher button{flex-basis:calc(50% - 8px)}.goal-actions .button{width:100%}.studio-stage{aspect-ratio:1.25}.home-experience .wordmark{font-size:.78rem}.home-experience .wordmark small{font-size:.67rem}}
@media(prefers-reduced-motion:reduce){.reveal-on-entry{animation:none}.home-experience *{scroll-behavior:auto!important;transition:none!important}}

/* Service entry points and conditional enquiry details. */
.service-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 32px}
.service-paths article{display:flex;flex-direction:column;align-items:start;padding:27px 24px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold);min-width:0}
.service-number{font-size:.69rem;font-weight:700;letter-spacing:.1em;color:var(--accent)}
.service-paths h3{font:500 1.65rem/1.18 var(--serif);margin:16px 0 12px;text-wrap:balance}
.service-paths p{font-size:.86rem;line-height:1.7;color:var(--muted);margin:0 0 20px}
.service-path-links{display:grid;gap:9px;margin-top:auto}
.service-path-links a{font-size:.81rem;font-weight:700;text-underline-offset:4px;padding-block:5px}
.service-path-commercial{box-shadow:inset 0 0 0 1px var(--gold)}
.start-specific{border-left:2px solid var(--gold);padding:15px 15px 1px;background:var(--soft);margin-bottom:18px}
@media(max-width:1000px){.service-paths article{padding:22px 18px}.service-paths h3{font-size:1.45rem}}
@media(max-width:760px){.service-paths{grid-template-columns:1fr}.service-paths article{padding:24px}.service-paths h3{font-size:1.7rem}.goal-switcher button{flex-basis:calc(33.333% - 8px)}}
@media(max-width:420px){.goal-switcher button{flex-basis:calc(50% - 8px)}}
