/* The approved Klasic editorial homepage. The marble closing is deliberately
   outside these content selectors and retains its existing treatment. */
.home .masthead .nav-wrap{height:74px;gap:32px;border-radius:3px}
.home .masthead:not(.scrolled) .nav-wrap{border-block-color:#ffffff36;background:#ffffff05}
.home .masthead .brand-lockup{width:184px}
.home .masthead .desktop-nav{gap:32px;font-size:13px}
.home .masthead .nav-contact{font-size:12px;padding:12px 23px;border-radius:0}
.home .masthead .nav-contact>.arrow{display:none}
.home .masthead.scrolled .nav-wrap{height:68px;border-radius:15px;box-shadow:0 8px 24px #1015100e,inset 0 1px 0 #ffffffa6}
.home .masthead.scrolled .brand-lockup{width:168px}
.editorial-hero-pin{--editorial-height:clamp(820px,68vw,1100px);background:var(--paper)}
.editorial-hero{position:relative;isolation:isolate;height:var(--editorial-height);overflow:hidden;color:var(--white);background:linear-gradient(180deg,#656774 0%,#8b8387 32%,#bdaa98 58%,#484e37 100%)}
.editorial-hero-photo{position:absolute;inset:35% 0 0;z-index:-2;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16%);mask-image:linear-gradient(to bottom,transparent,#000 16%)}
.editorial-hero-scene{position:relative;width:100%;height:100%;transform-origin:50% 100%}
.editorial-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
/* Sample only the photograph's upper sky; the roof and landscape stay still.
   The oversized background crops source rows ~60–274, above the chimney. */
.editorial-hero-sky{position:absolute;inset:0 0 39%;z-index:-3;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 19%,#000 63%,transparent 100%);mask-image:linear-gradient(to bottom,transparent,#000 19%,#000 63%,transparent 100%)}
.editorial-hero-sky:before{content:'';position:absolute;inset:-8% -30%;background-image:var(--sky-image);background-repeat:no-repeat;background-size:auto 500%;background-position:50% 7%;opacity:.84;animation:klasic-sky-drift 22s linear -8s infinite alternate;animation-play-state:paused;will-change:transform}
.editorial-hero-sky.is-sky-moving:before{animation-play-state:running}
@keyframes klasic-sky-drift{from{transform:translate3d(-11%,0,0)}to{transform:translate3d(11%,1%,0)}}
/* A second sky layer moves the actual cloud band above the roof. Its mask
   follows the photo's cover scale and ends above the chimney at source y=274. */
.editorial-photo-sky{position:absolute;inset:0 0 auto;height:max(17.125vw,25.655%);overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 60%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 60%,transparent 100%)}
.editorial-photo-sky:before{content:'';position:absolute;inset:0 -30%;background-image:var(--sky-image);background-repeat:no-repeat;background-size:auto 600%;background-position:50% 10%;opacity:.96;animation:klasic-photo-clouds 18s linear -5s infinite alternate;animation-play-state:paused;will-change:transform}
.editorial-hero-sky.is-sky-moving+.editorial-hero-photo .editorial-photo-sky:before{animation-play-state:running}
@keyframes klasic-photo-clouds{from{transform:translate3d(-12%,0,0)}to{transform:translate3d(12%,0,0)}}
.editorial-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#171c2338 0%,#171c2338 53%,transparent 72%,#16201270)}
.editorial-hero-copy{text-align:center;padding-top:clamp(135px,10.8vw,178px);position:relative}
.editorial-hero-copy>.eyebrow{color:#f4f0e8;font-size:10px;letter-spacing:.17em;margin:0 0 28px}
.editorial-hero h1{font-size:clamp(66px,6.35vw,101px);line-height:1.08;letter-spacing:-.035em;margin:0}
.editorial-hero h1 em{color:#e5cfaa}
.editorial-hero-copy>p{font-size:clamp(16px,1.5vw,21px);line-height:1.6;max-width:700px;margin:23px auto 0;color:#faf8f2;text-wrap:balance}
.editorial-hero-actions{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:25px}
.editorial-hero-actions .button{background:#ffffff06;border:1px solid #ffffff9c;border-radius:0;font-size:13px;min-height:49px;padding:14px 32px;justify-content:center}
.editorial-hero-actions .button:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.editorial-hero-actions .text-link,.editorial-hero-foot .text-link{font-size:13px;border-color:#ffffff85;gap:18px}
.editorial-hero-foot{position:absolute;bottom:36px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:22px}
.hero-project-credit{font:11px/1.6 var(--sans);border-bottom:1px solid #ffffff60;padding-bottom:6px}
.hero-project-credit>span{color:#e0e0d5}
.hero-project-group{display:flex;align-items:center;gap:18px;min-width:0}
.hero-sky-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:var(--white);background:#ffffff08;border:1px solid #ffffff50;border-radius:50%;flex-shrink:0;cursor:pointer}
.hero-sky-toggle[hidden]{display:none}
.hero-sky-toggle:hover{background:#ffffff20;border-color:#ffffffa0}
.hero-sky-toggle:focus-visible{outline:2px solid var(--white);outline-offset:4px}
.hero-sky-toggle .sky-pause-icon,.hero-sky-toggle.is-playing .sky-play-icon{display:none}
.hero-sky-toggle.is-playing .sky-pause-icon{display:block}
.home-services{padding:32px 0 29px;background:var(--paper);border-bottom:1px solid var(--line)}
.home-services .eyebrow{text-align:center;font-size:10px;letter-spacing:.13em;margin-bottom:20px}
.home-services ul{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center}
.home-services li{border-right:1px solid var(--line);text-align:center;min-width:0}
.home-services li:last-child{border:0}
.home-services a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:4px 8px;font:400 clamp(20px,1.9vw,28px)/1.25 var(--serif);letter-spacing:-.015em;transition:color .2s}
.home-services a:hover{color:var(--gold-dark)}
.home .review-trust{border:0}
.home .review-trust>.wrap{justify-content:center;align-items:center;padding-block:32px 12px}
.home .review-trust .review-rating{gap:6px}
.home .review-trust .review-rating-number{font:400 21px/1.3 var(--sans)}
.home .review-trust .review-rating-label{font-size:13px}
.home .review-trust .review-stars,.home .review-trust .review-rating>.arrow,.home .review-trust-anchor{display:none}
.home-selected{padding-top:37px;padding-bottom:clamp(65px,7vw,112px)}
.home-selected-heading{text-align:center;margin-bottom:42px}
.home-selected-heading .eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:16px}
.home-selected-heading h2{font-size:clamp(42px,4.65vw,74px);line-height:1.12;letter-spacing:-.035em}
.home-selected-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
.home-selected-grid article{min-width:0}
.home-project-photo{display:block;aspect-ratio:1.45;overflow:hidden;background:var(--paper-2)}
.home-project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}
.home-project-photo:hover img{transform:scale(1.025)}
.home-project-copy{padding-top:23px}
.home-project-copy .eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:7px}
.home-project-copy h3{font-size:clamp(34px,3.3vw,53px);letter-spacing:-.03em;line-height:1.2}
.home-project-copy .text-link{font-size:13px;margin-top:20px;gap:26px}
.home-work-index{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:48px;padding-top:25px}
.home-work-index>span{font-size:13px;color:var(--muted)}
.home #main>.capabilities{background:var(--paper-2);border-block:1px solid var(--line)}
.home #main>.capabilities .section-head>.eyebrow{margin-bottom:18px}
.home #main>.capabilities .num{display:none}
.home #main>.capabilities summary{grid-template-columns:1fr 20px;padding-block:24px}
.home #main>.capabilities .capability-copy{padding-left:0}
.home #main>.capabilities h2 em,.home #main>.home-transformations h2 em,.home #main>.client-reviews h2 em,.home #main>.founder-section h2 em{color:inherit}
.home #main>.client-reviews{background:var(--paper);border-top:1px solid var(--line)}
.home #main>.founder-section{background:var(--paper-2)}
.home #main>.jobsite-section{background-image:linear-gradient(to bottom,var(--paper) 0,#eee9dd 100%)}
.home #main>.jobsite-section h2 em{color:inherit}
@media(min-width:1700px){.editorial-hero-copy{padding-top:145px}.editorial-hero-photo{inset:29% 0 0}}
@media(min-width:701px) and (prefers-reduced-motion:no-preference){
 .editorial-hero-pin.has-scroll-reveal{height:calc(var(--editorial-height) + clamp(180px,22svh,280px))}
 .editorial-hero-pin.has-scroll-reveal .editorial-hero{position:sticky;top:0;will-change:clip-path}
}
@media(max-width:1000px){
 .home-services .wrap{width:calc(100% - 36px)}
 .home-services a{font-size:21px}
 .editorial-hero-pin{--editorial-height:820px}
 .editorial-hero-photo{inset:40% 0 0}
 .editorial-hero-copy{padding-top:145px}
 .editorial-hero h1{font-size:clamp(62px,7.5vw,76px)}
 .home-selected-grid{gap:25px}
}
@media(max-width:700px){
 .home .masthead{top:10px}
 .home .masthead .nav-wrap{height:63px;gap:20px}
 .home .masthead .brand-lockup{width:155px}
 .home .masthead.scrolled .nav-wrap{height:62px;border-radius:14px}
 .home .masthead.scrolled .brand-lockup{width:145px}
 .editorial-hero-pin{--editorial-height:760px}
 .editorial-hero{min-height:0;max-height:none}
 .editorial-hero-copy{padding-top:125px;width:calc(100% - 38px)}
 .editorial-hero-copy>.eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:23px}
 .home .editorial-hero h1{font-size:clamp(38px,9.7vw,66px)!important;line-height:1.12!important;letter-spacing:-.035em!important}
 .editorial-hero-copy>p{font-size:16px;line-height:1.6;max-width:34ch;margin-top:20px}
 .desktop-break{display:none}
 .editorial-hero-actions{gap:24px;margin-top:24px}
 .editorial-hero-actions .button{font-size:12px;padding:13px 21px;min-height:46px}
 .editorial-hero-actions .text-link{font-size:12px;gap:11px}
 .editorial-hero-photo{inset:47% 0 0;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16%);mask-image:linear-gradient(to bottom,transparent,#000 16%)}
 .editorial-hero-photo img{object-position:52% top}
 .editorial-hero-foot{bottom:26px;gap:15px}
 .hero-project-credit{font-size:10px}
 .hero-project-credit>span{display:none}
 .hero-project-group{gap:10px}
 .editorial-hero-foot .text-link{font-size:11px;gap:10px}
 .home-services{padding:25px 0 21px}
 .home-services .wrap{width:calc(100% - 34px)}
 .home-services .eyebrow{font-size:8px;letter-spacing:.08em;margin-bottom:14px}
 .home-services ul{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:8px}
 .home-services li:nth-child(3){border:0}
 .home-services a{font-size:20px;min-height:44px;padding-inline:3px}
 .home .review-trust>.wrap{flex-direction:row;padding-block:27px 5px}
 .home .review-trust .review-rating-number{font-size:20px}
 .home .review-trust .review-rating-label{font-size:12px}
 .home-selected{padding-top:29px;padding-bottom:60px}
 .home-selected-heading{margin-bottom:28px}
 .home-selected-heading .eyebrow{font-size:9px;margin-bottom:12px}
 .home .home-selected-heading h2{font-size:clamp(32px,8.4vw,46px)!important;max-width:21ch;margin-inline:auto}
 .home-selected-grid{grid-template-columns:1fr;gap:43px}
 .home-project-photo{aspect-ratio:1.35}
 .home-project-copy{padding-top:18px}
 .home-project-copy .eyebrow{font-size:9px}
 .home .home-project-copy h3{font-size:clamp(31px,8.3vw,43px)!important}
 .home-project-copy .text-link{margin-top:16px;font-size:12px}
 .home-work-index{margin-top:35px;padding-top:23px;align-items:flex-start;flex-direction:column;gap:16px}
 .home-work-index>span{font-size:12px}
 .home #main>.capabilities summary{padding-block:22px}
 .home #main>.capabilities .capability-copy{padding-left:0}
}
@media(max-width:360px){
 .editorial-hero-pin{--editorial-height:735px}
 .home .editorial-hero h1{font-size:35px!important}
 .editorial-hero-copy>p{font-size:15px}
 .editorial-hero-actions{gap:18px}
 .home-services a{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.editorial-hero{clip-path:none!important}.editorial-hero-scene{transform:none!important}.editorial-hero-sky,.editorial-photo-sky{display:none}.editorial-hero-sky:before,.editorial-photo-sky:before{animation:none;will-change:auto}.hero-sky-toggle{display:none}.home-project-photo img{transition:none}.home-project-photo:hover img{transform:none}}
