/* Reference composition: warm neutral palette, measured type and staged motion. */
:root{--paper:#ede9e5;--paper-dark:#e0dbd5;--ink:#262424;--blue:#9f5f45;--blue-light:#f8eae4;--line:#c7c2bb;--ease:cubic-bezier(.25,.1,0,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--space:clamp(64px,6.25vw,120px);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:300}
h1,h2,h3,h4,.statement,.service-rotator,.more-links a,.main-menu>a,.value-tabs button,.values-marquee{letter-spacing:0}
h1{line-height:1;font-size:clamp(39.84px,calc(30.72px + 2.87vw),100.96px)}
h2{line-height:1}p{line-height:1.35}.statement{line-height:1.02}
.home-lead{padding-top:150px;padding-bottom:90px}.home-lead h1{width:77%;max-width:970px;line-height:1;margin-bottom:75px}
.announcement{top:20px;border-radius:1px;padding:8px 0;font-size:16px}
.pill{padding:10px 21px;font-size:21px;line-height:1.2;transition:color .6s,border-color .6s,background .6s}
.pill:hover{background:transparent;color:var(--ink);border-color:var(--ink)}
.showreel{border-radius:1px;background:#bcc6b6}.reel-slide{transition:opacity .65s;transform:none}.reel-slide.active{transform:none}.reel-slide:after{display:none}.reel-slide img{filter:none}.reel-bottom{bottom:16px;right:16px;left:auto;opacity:0;transition:opacity .3s}.showreel:hover .reel-bottom,.showreel:focus-within .reel-bottom{opacity:1}.reel-bottom>div{gap:8px}.reel-bottom button{background:#26242488;border:0;width:34px;height:34px;font-size:16px}.reel-copy{display:none}
.showcase-community{padding:6% 9%;background:#b9bda7}.showcase-screen{height:100%;padding:3% 4%;background:#f2eee5;box-shadow:0 16px 45px #26242420;transform:rotate(-3deg);color:#403f24;overflow:hidden}.showcase-nav{display:flex;justify-content:space-between;align-items:center;font-size:clamp(9px,1.4vw,24px);border-bottom:1px solid #9c9b75;padding-bottom:3%}.showcase-nav>span{font-size:.6em}.showcase-content{display:grid;grid-template-columns:1fr 1fr;gap:7%;height:74%;align-items:center}.showcase-content h2{font-family:Georgia,serif;font-size:clamp(24px,4.8vw,80px);line-height:1}.showcase-content img{height:84%;border-radius:50% 50% 0 0;object-position:center}.showcase-caption{font-size:clamp(8px,1vw,18px)}
.showcase-nature{background:#d5ddbb;display:flex;align-items:center;padding:7%;gap:7%;color:#34452c}.showcase-nature>img{width:42%;height:100%;object-fit:cover;position:absolute;right:0;top:0}.showcase-nature-copy{width:60%;position:relative;z-index:1}.showcase-nature-copy>span,.showcase-culture>div>span{font-size:clamp(10px,1.5vw,24px)}.showcase-nature-copy h2{font-family:Georgia,serif;font-size:clamp(27px,5vw,90px);margin-top:16%}.showcase-phone{z-index:2;background:#f2f0e4;width:23%;height:87%;border:7px solid #30372a;border-radius:32px;box-shadow:10px 15px 30px #0003;transform:rotate(8deg);padding:16px;overflow:hidden;position:absolute;right:15%;top:7%}.showcase-phone img{height:50%;border-radius:17px}.showcase-phone>span{display:block;font-family:Georgia,serif;font-size:clamp(16px,2.5vw,45px);line-height:1.1;margin-top:15%}.showcase-phone i{display:block;font-size:clamp(8px,.8vw,14px);font-style:normal;margin-top:17%}
.showcase-culture{background:#eba53a;display:grid;grid-template-columns:1fr 1fr}.showcase-culture>img{height:100%;object-fit:cover}.showcase-culture>div{padding:12%;display:flex;flex-direction:column;justify-content:space-between}.showcase-culture h2{font-size:clamp(30px,5.8vw,100px);line-height:.95}
.home-services{gap:8%}.home-services>div:first-child{max-width:530px}.service-rotator{font-size:clamp(47.84px,calc(34.88px + 4.07vw),134.72px);line-height:1;--service-height:calc(1em + 8px)}.service-rotator>a,.service-rotator>a:nth-child(3){height:var(--service-height);font-size:inherit;overflow:hidden;transition:opacity .4s}.service-rotator .service-roll{display:block;transform:translateY(calc(var(--row,0)*var(--service-height)*-1));transition:transform .6s var(--ease-in-out)}.service-rotator .service-roll>span{display:flex;align-items:center;height:var(--service-height);white-space:nowrap;transform:none!important;font-size:clamp(34px,4.8vw,92px)}.service-rotator .service-roll>span:first-child,.service-rotator .service-roll>span:last-child{font-size:inherit}.service-rotator a:hover>span{transform:translateY(calc(var(--row,0)*var(--service-height)*-1))}.rolling-active>a:not(.rolling){opacity:.2}
.staggered{gap:8%}.project-intro{margin-bottom:120px}.small-card{width:78%}.right-card{margin-top:105px}.project-picture,.projects-section .project-picture{aspect-ratio:4/3!important;overflow:hidden;margin:0;background:var(--project-color);border-radius:1px}.project-picture>img,.projects-section .project-picture>img{height:100%;width:100%;aspect-ratio:auto;border-radius:0;transition:transform 1.2s var(--ease)}.project-card a:hover img{transform:scale(1.03);filter:none}.small-card .project-picture{aspect-ratio:1/1.1!important}.card-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:14px;color:var(--blue);font-size:13px}.card-tags,.projects-section .card-tags{position:static;display:flex;flex-wrap:wrap;gap:5px;padding:0;min-height:0;flex:1}.tag,.projects-section .tag{font-size:13px;padding:0;background:none;backdrop-filter:none;border:0;color:var(--ink);white-space:nowrap}.tag+.tag:before{content:'·';padding-right:5px}.card-visit,.projects-section .card-visit{position:static;display:inline;transform:none;opacity:1;padding:0;background:none;border-radius:0;white-space:nowrap;max-width:none;font-size:13px;line-height:1.3}.card-visit>span{margin-left:6px}.project-card h3{margin-top:12px;font-size:clamp(26px,2.35vw,42px);line-height:1.03;max-width:100%;color:var(--blue)}.project-card h3>span{background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;transition:background-size .6s}.project-card a:hover h3>span{background-size:100% 1px;color:var(--ink)}
.approach-media{height:clamp(216px,30vw,402px);overflow:hidden}.approach-media img{height:100%;object-fit:cover}.home-approach{gap:8%;align-items:center}.home-approach>.approach-media{order:2}.home-approach>div{order:1}.philosophy-section{background:var(--paper-dark);max-width:none;width:100%;padding-inline:var(--gutter);padding-block:90px}.philosophy-images{gap:30px}.philosophy-images figure:first-child{margin-top:120px}
.projects-lead{grid-template-columns:2.4fr 1fr;gap:15%;padding-top:85px;padding-bottom:110px}.project-stats strong{letter-spacing:0}.projects-section .project-grid{width:83%;gap:80px 8%}.project-toolbar{padding-bottom:85px}.filters{justify-content:flex-start;gap:32px}.filter{font-size:25px;line-height:1.2;text-decoration:none!important;background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat!important;transition:background-size .6s,color .6s}.filter.active,.filter:hover{background-size:100% 1px!important}.filter-loading{animation:filterPulse .8s infinite alternate}.project-grid{transition:opacity .45s,transform .6s}.project-grid.filtering{opacity:0;transform:translateY(18px);pointer-events:none}@keyframes filterPulse{to{opacity:.3}}
.service-lead>figure{margin-bottom:95px}.service-heading{gap:8%}.service-heading>div>p{margin-top:110px}.service-heading h1,.approach-lead h1{line-height:1}.service-note .pill{font-family:inherit}.service-block h2{line-height:1}.approach-collage figure:first-child{margin-left:9%;width:70%}.approach-collage figure:last-child{margin-top:175px}.approach-collage figcaption{display:none}
.value-slider{grid-template-columns:4fr 5fr;margin-left:auto;width:66%;max-width:1350px;margin-right:var(--gutter);border-top:0;gap:5%;padding-top:100px}.value-slider>div:first-child>.eyebrow{margin-bottom:35px}.value-tabs{position:relative;padding-top:22px;--progress:100%;border-top:1px solid var(--line);align-items:stretch}.value-tabs:before{content:'';position:absolute;top:-1px;left:0;height:1px;width:var(--progress);background:var(--ink)}.value-tabs button{font-size:clamp(26px,2.3vw,40px);position:relative;display:flex;line-height:1.2;color:var(--blue);padding:3px 0;gap:0}.value-tabs button>span{transition:transform .6s,opacity .6s}.value-tabs .value-arrow{position:absolute;left:0;opacity:0;transform:translateX(-20px)}.value-tabs button[aria-selected=true]{color:var(--ink)}.value-tabs button[aria-selected=true]>span:last-child{transform:translateX(32px)}.value-tabs button[aria-selected=true]>.value-arrow{opacity:1;transform:none}.value-tabs button:hover{color:var(--ink)}#value-panel{padding-top:50px;min-height:320px}.value-copy{font-size:clamp(26px,2.2vw,38px);line-height:1.1}.value-slider .slider-controls{display:none}.process-body{scroll-margin-top:60px}.step-tabs button{transition:color .4s}.article-feature{background:transparent;border-top:1px solid var(--line);padding:80px 0;margin-bottom:0}
.company-opening,.company-gallery,.company-world,.philosophy-opening{background:#161515;color:var(--blue)}.company-lead{padding-bottom:110px;grid-template-columns:1.8fr 1fr;gap:17%}.company-lead h1{line-height:1}.company-gallery{overflow:hidden}.gallery-track{transform:scale(var(--gallery-scale,.8));transform-origin:top center;cursor:grab;touch-action:pan-y;scroll-snap-type:x mandatory;user-select:none}.gallery-track.dragging,.gallery-track.gallery-moving{scroll-snap-type:none;scroll-behavior:auto}.gallery-track.dragging{cursor:grabbing}.gallery-slide img{pointer-events:none;border-radius:1px}.company-gallery .slider-controls button{color:var(--blue);border-color:var(--blue)}.company-gallery .slider-controls button:hover{background:transparent;color:var(--paper)}
.footer{background:var(--ink);color:var(--blue);padding:90px 0 30px}.footer-layout{display:grid;grid-template-columns:25% 58%;justify-content:space-between}.footer-left{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.footer-left>figure{width:100%;aspect-ratio:1;overflow:hidden}.footer-left>figure img{height:100%}.footer-social{display:flex;flex-direction:column;gap:18px;align-items:flex-start;margin:35px 0 65px}.footer .pill{color:var(--paper);margin:0;font-size:20px}.footer .pill:hover{color:white;background:transparent;border-color:white}.footer-right>h2{font-size:clamp(36px,3.95vw,68px);line-height:1;margin-bottom:35px}.footer-right>.pill{font-size:27px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:65px 0}.footer-links nav{display:flex;flex-direction:column;gap:6px;font-size:21px}.footer-links a:hover{color:var(--paper)}.footer-company a{border:0;color:var(--paper)}.footer-company p{font-size:16px;max-width:450px}.footer .world-times{grid-template-columns:repeat(4,1fr);gap:20px;border:0;margin-top:55px;padding:0;color:var(--paper)}.world-times>div:first-child{grid-column:auto;margin:0}.world-times time{font-size:27px;letter-spacing:0}.wordmark{font-size:clamp(65px,7vw,112px);letter-spacing:-.06em;color:var(--paper);line-height:.8}.footer-bottom{border-top:1px solid #c7c2bb30;padding-top:25px;margin-top:75px;color:var(--line);padding-bottom:95px}
.nav-backdrop{background:#262424;transition:opacity 1.2s var(--ease-in-out),visibility 1.2s}.overlay-open .nav-backdrop{opacity:.95}.navigation-dock{border-radius:1px;transition:height .8s var(--ease-in-out);width:475px}.navigation-dock.wide{width:475px}.dock-bar{width:100%;grid-template-columns:1fr 115px 115px}.dock-logo{font-size:31px;font-weight:500;letter-spacing:-1.8px}.dock-panel{height:calc(100% - 68px);padding:30px;overflow-y:auto;overflow-x:hidden}.main-menu{gap:6px;overflow:hidden}.main-menu>a{font-size:54px;line-height:1.04;opacity:0;transform:translateY(170%);transition:opacity .8s var(--ease),transform .8s var(--ease)}.main-menu>a>.menu-title{opacity:1;transform:none}.main-menu>a>span{transition:transform .6s,opacity .6s}.main-menu>a:hover>.menu-title{transform:translateX(30px)}.main-menu>a>span:last-child{transform:translateX(-30px);opacity:0}.main-menu>a:hover>span:last-child,.main-menu>a[aria-current]>span:last-child{opacity:1;transform:none}.content-visible .main-menu>a{opacity:1;transform:none;transition-delay:calc(250ms + var(--item)*50ms)}.menu-secondary{opacity:0;transform:translateY(70px);transition:opacity .8s,transform .8s;margin-top:35px;padding-top:30px;gap:14px}.content-visible .menu-secondary{opacity:1;transform:none;transition-delay:.5s}.menu-secondary>a{font-size:20px}.navigation-dock.expanded{height:calc(100dvh - 83px)}
.contact-choice>button{min-height:0;aspect-ratio:2/1;width:100%;padding:20px;align-items:center;font-size:clamp(28px,2.4vw,38px);border-radius:1px;border-color:var(--ink);margin:0 0 30px;opacity:0;transform:translateY(80%);transition:opacity .8s var(--ease),transform .8s var(--ease),color .6s}.contact-choice>button:last-child{transition-delay:.3s}.content-visible .contact-choice>button{opacity:1;transform:none}.contact-choice>button:hover{background:none;color:var(--ink);border-color:var(--ink)}.contact-choice>button>span{transition:transform .6s,opacity .6s}.contact-choice>button>span:last-child{opacity:0;transform:translateX(-20px)}.contact-choice>button:hover>span:first-child{transform:translateX(12px)}.contact-choice>button:hover>span:last-child{opacity:1;transform:none}.dock-panel[data-view=message]>*:not(.back-link),.dock-panel[data-view=schedule]>*:not(.back-link){opacity:0;transform:translateY(100px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.content-visible .dock-panel[data-view=message]>*:not(.back-link),.content-visible .dock-panel[data-view=schedule]>*:not(.back-link){opacity:1;transform:none}.dock-panel .back-link{font-size:20px;margin-bottom:30px}.contact-form{gap:30px}.contact-form input:not([type=checkbox]){padding:15px 0 10px;font-size:20px;border-color:var(--line)}.contact-form textarea{border:1px solid var(--line);padding:12px;min-height:160px;font-size:17px}.contact-form>label:not(.floating-field):not(.consent){font-size:19px}.contact-form .consent{font-size:11px}.form-note{font-size:12px}.form-result{border-radius:0}
.calendar-intro{color:var(--ink)}.calendar-intro>span{font-size:16px;color:var(--blue)}.calendar-intro h2{font-size:35px;margin:15px 0}.calendar-intro p{font-size:15px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin:35px 0 20px}.calendar-header h3{font-size:20px;color:var(--ink)}.calendar-header button{font-size:22px;padding:5px 10px}.calendar-header button:disabled{opacity:.2}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:5px}.calendar-weekdays{font-size:11px;color:var(--ink);margin-bottom:12px}.calendar-days button{aspect-ratio:1;border-radius:50%;font-size:15px;background:var(--blue-light);color:var(--blue)}.calendar-days button:disabled{background:none;color:var(--line)}.calendar-days button[aria-pressed=true],.calendar-days button:not(:disabled):hover{background:var(--blue);color:white}.calendar-zone{font-size:12px;color:var(--ink);margin-top:20px}.calendar-times{margin-top:25px}.calendar-times h3{font-size:20px;color:var(--ink);margin-bottom:15px}.calendar-times>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.calendar-times button{padding:12px;border:1px solid var(--line);font-size:15px}.calendar-times button[aria-pressed=true]{border-color:var(--blue);background:var(--blue-light)}.calendar-continue{margin-top:25px;font-size:18px}.calendar-continue:disabled{opacity:.35}.call-calendar>.form-note{margin-top:18px}.calendar-selection{font-size:17px;margin-bottom:25px;color:var(--ink)}
.page-transition{background:transparent;transform:translateY(100%);visibility:hidden;overflow:hidden;transition:none;pointer-events:none;z-index:200}.transition-inner{position:absolute;inset:0;background:var(--ink);color:var(--blue);display:grid;place-items:center;transform:translateY(-100%);text-align:center;padding:8%}.transition-inner>span{font-size:clamp(48px,7vw,112px);line-height:1;transform:translateY(100%);max-width:1000px}.page-transition.active{visibility:visible;transform:translateY(0);transition:transform 1.2s var(--ease-in-out);pointer-events:all}.page-transition.active .transition-inner{transform:translateY(0);transition:transform 1.2s var(--ease-in-out)}.page-transition.active .transition-inner>span{transform:translateY(0);transition:transform 1.2s var(--ease-in-out)}.page-transition.active.leaving{transform:translateY(-100%)}.page-transition.active.leaving .transition-inner{transform:translateY(100%)}.page-transition.active.leaving .transition-inner>span{transform:translateY(-100%)}
@media(min-width:1800px){.navigation-dock{width:540px}.dock-bar{grid-template-columns:1fr 130px 130px}}
@media(max-width:1100px){.home-lead h1{width:90%}.service-rotator{font-size:clamp(48px,6vw,75px)}.service-rotator .service-roll>span{font-size:clamp(28px,3.5vw,45px)}.projects-section .project-grid{width:100%}.value-slider{width:88%;margin-inline:auto}.footer-links{margin:45px 0}.world-times time{font-size:22px}.footer .world-times{grid-template-columns:repeat(2,1fr)}.company-lead{gap:10%}.service-block h2{font-size:32px}}
@media(max-width:767px){:root{--gutter:16px;--space:64px}.container{width:calc(100% - 32px)}h1{font-size:clamp(39.84px,calc(30.72px + 2.87vw),54px);line-height:1;letter-spacing:0}h2,h3,.statement{letter-spacing:0}.statement{font-size:28px;line-height:1.04}.announcement{left:16px;right:16px;top:16px;width:auto;font-size:12px}.home-lead{padding-top:105px;padding-bottom:64px}.home-lead h1{width:100%;max-width:100%;margin-bottom:40px;font-size:40px}.showreel{aspect-ratio:16/9}.showcase-community{padding:6%}.showcase-screen{padding:4%}.showcase-content h2{font-size:25px}.showcase-nav{font-size:9px}.showcase-phone{border-width:3px;border-radius:13px;padding:5px}.showcase-phone img{border-radius:7px}.showcase-phone>span{font-size:13px}.showcase-phone i{font-size:6px}.showcase-nature-copy h2{font-size:25px}.showcase-culture h2{font-size:30px}.reel-bottom{bottom:8px;right:8px}.reel-bottom button{width:25px;height:25px;font-size:12px}.home-services{gap:45px}.service-rotator{padding-left:0;font-size:49px;pointer-events:none}.service-rotator .service-roll>span{font-size:35px}.staggered{gap:50px}.project-intro{margin-bottom:45px}.small-card,.home-projects .small-card,.right-card{width:100%;margin-top:0}.small-card .project-picture{aspect-ratio:4/3!important}.card-meta{gap:8px;margin-top:12px}.tag,.projects-section .tag{font-size:11px}.card-visit,.projects-section .card-visit{font-size:11px}.project-card h3,.projects-section .project-grid .project-card h3{font-size:28px}.home-approach{gap:35px}.home-approach>.approach-media{order:1}.home-approach>div{order:2}.approach-media{height:auto;aspect-ratio:16/9}.agency-section{gap:35px}.philosophy-section{width:100%;padding-inline:16px;padding-block:64px;gap:45px}.philosophy-images{gap:16px}.philosophy-images figure:first-child{margin-top:70px}.projects-lead{grid-template-columns:1fr;gap:40px;padding-top:65px;padding-bottom:45px}.projects-lead h1{font-size:40px}.project-toolbar{padding-bottom:45px;overflow-x:auto;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}.filters{flex-wrap:nowrap;gap:25px;width:max-content}.filter{font-size:23px}.projects-section .project-grid{gap:50px}.service-lead>figure{height:220px;margin-bottom:45px}.service-heading h1,.approach-lead h1{font-size:40px;line-height:1}.service-heading>div>p{margin-top:30px}.service-block h2{font-size:27px}.approach-lead{padding-top:65px}.approach-collage figure:first-child{width:100%;margin:0}.approach-collage figure:last-child{margin-top:70px}.value-slider{grid-template-columns:1fr;gap:35px;width:calc(100% - 32px);padding-top:64px}.value-tabs button{font-size:34px}.value-tabs button[aria-selected=true]>span:last-child{transform:translateX(34px)}#value-panel{padding-top:0;min-height:180px}.value-copy{font-size:28px}.article-feature{padding:55px 0}.company-lead{grid-template-columns:1fr;gap:45px;padding-bottom:55px}.company-lead h1{font-size:40px}.company-gallery{width:100%;padding-inline:16px}.company-world{width:100%;padding-inline:16px}.philosophy-opening h1{font-size:40px;line-height:1}.footer{padding-top:64px}.footer-layout{grid-template-columns:1fr;gap:55px}.footer-left{display:grid;grid-template-columns:1fr 1fr;gap:25px}.footer-left>figure{grid-column:1}.footer-social{margin:0;align-self:center}.footer .footer-social .pill{font-size:14px;gap:10px;padding:9px 12px}.footer-left .wordmark{grid-column:1/-1;font-size:60px;line-height:.9}.footer-left .wordmark br{display:none}.footer-right h2{font-size:40px}.footer-right>.pill{font-size:24px}.footer-links{gap:20px;font-size:19px}.footer .world-times{grid-template-columns:repeat(2,1fr);margin-top:40px}.world-times time{font-size:25px}.footer-bottom{font-size:16px;margin-top:45px;padding-bottom:100px}.navigation-dock,.navigation-dock.wide{left:12px;bottom:12px;width:calc(100% - 24px);height:62px}.dock-bar{height:62px;padding-left:16px;padding-right:5px;grid-template-columns:1fr 84px 92px}.dock-logo{font-size:27px}.dock-bar>button{font-size:17px}.navigation-dock.expanded{height:calc(100dvh - 36px)}.dock-panel{height:calc(100% - 62px);padding:24px}.main-menu>a{font-size:43px;line-height:1.07}.main-menu{gap:8px}.menu-secondary{margin-top:30px;padding-top:25px}.menu-secondary>a{font-size:18px}.contact-choice>button{aspect-ratio:2/1;margin-bottom:24px;font-size:28px;padding:16px}.contact-form{gap:25px}.contact-form input:not([type=checkbox]){font-size:18px}.contact-form textarea{font-size:16px}.calendar-intro h2{font-size:30px}.calendar-header{margin-top:30px}.calendar-days button{font-size:14px}.calendar-weekdays{font-size:10px}.philosophy-detail .two-col>p{font-size:20px}}
@media(max-width:350px){.dock-bar{grid-template-columns:1fr 67px 77px}.dock-logo{font-size:24px}.dock-panel{padding:20px}.main-menu>a{font-size:38px}.card-meta{flex-wrap:wrap}.card-tags{flex-basis:100%}.service-catalogue{gap:30px 6%}.service-block h2{font-size:24px}.service-block li{font-size:14px}.showcase-content h2{font-size:21px}.footer .footer-social .pill{font-size:12px}.value-tabs button{font-size:30px}}
@media(prefers-reduced-motion:reduce){.gallery-track{transform:none}.page-transition,.transition-inner,.transition-inner>span{transition:none!important}.reel-bottom{opacity:1}}
.home-lead{padding-top:140px}.home-lead h1{max-width:1050px;width:83%;margin-bottom:63px}.home-services>div{min-width:0}.service-rotator>a{min-width:0}.philosophy-section{display:block}.philosophy-banner{width:100%;height:auto;aspect-ratio:21/9;overflow:hidden}.philosophy-banner img{height:100%}.philosophy-section>div{width:58%;margin:45px 0 0 auto}.footer{margin-top:90px}.philosophy-section+.footer{margin-top:0}
@media(max-width:1100px){.desktop-break{display:none}.home-lead h1{width:90%}}
@media(max-width:767px){.home-lead{padding-top:105px}.home-lead h1{width:100%;margin-bottom:40px}.philosophy-banner{aspect-ratio:1}.philosophy-section>div{width:83%;margin:30px 0 0}.footer{margin-top:64px}}
.main-menu{gap:10px}.milestone-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:75px;align-items:start}.milestone-photos{position:sticky;top:15vh;aspect-ratio:4/5}.milestone-photo{position:absolute;inset:0;opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.milestone-photo.active{opacity:1;transform:none}.milestone-photo img{height:100%;object-fit:cover}.milestone-step{padding:20px 0 100px;min-height:50vh}.milestone-step>span{font-size:clamp(55px,7vw,110px);color:var(--blue);line-height:1}.milestone-step h3{font-size:33px;margin:30px 0 25px}.milestone-step p{font-size:21px;max-width:430px}.milestone-step:last-child{padding-bottom:0;min-height:40vh}
@media(max-width:767px){.main-menu{gap:8px}.milestone-layout{gap:24px;grid-template-columns:40% 1fr;margin-top:45px}.milestone-photos{top:25vh;aspect-ratio:3/4}.milestone-step{padding-bottom:60px;min-height:45vh}.milestone-step>span{font-size:55px}.milestone-step h3{font-size:24px;margin:20px 0}.milestone-step p{font-size:16px}}
.gallery-track{touch-action:pan-x pan-y}
.showcase-screen{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:5%}.showcase-content{height:auto;min-height:0}.showcase-content img{height:100%;min-height:0;max-height:100%;aspect-ratio:1;object-fit:cover}.showcase-caption{line-height:1.1}

/* Reserve a separate label row so focus never puts a border through the label. */
.contact-form > .floating-field {
  position: relative;
  display: block;
  flex: 0 0 auto;
  min-width: 0;
  height: 72px;
  padding-top: 20px;
}
.contact-form > .floating-field > input {
  display: block;
  width: 100%;
  min-width: 0;
  height: 52px;
  margin: 0;
  padding: 14px 0 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  outline: none;
  background: transparent;
  font-size: 20px;
  line-height: 24px;
  box-shadow: none;
  transition: border-color .2s, box-shadow .2s;
}
.contact-form > .floating-field > span {
  position: absolute;
  top: 34px;
  left: 0;
  max-width: 100%;
  font-size: 20px;
  line-height: 24px;
  color: var(--ink);
  pointer-events: none;
  transition: top .2s, font-size .2s, line-height .2s, color .2s;
}
.contact-form > .floating-field > input:focus {
  border-color: var(--blue);
  box-shadow: 0 1px 0 var(--blue);
}
.contact-form > .floating-field > input:focus + span,
.contact-form > .floating-field > input:not(:placeholder-shown) + span {
  top: 2px;
  font-size: 12px;
  line-height: 16px;
  color: var(--blue);
}
@media(max-width:767px) {
  .contact-form > .floating-field > input,
  .contact-form > .floating-field > span { font-size: 18px; }
  .contact-form > .floating-field > input:focus + span,
  .contact-form > .floating-field > input:not(:placeholder-shown) + span { font-size: 12px; }
}
