/* Functional glass: contrast sits in the tint; the changing photograph supplies the light. */
.site-header{background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}
.site-header::before{content:"";position:absolute;z-index:-1;inset:8px 14px;border:1px solid #eee8d94d;border-radius:26px;background:linear-gradient(145deg,#ffffeb27,#ffffeb05 46%),rgba(25,30,24,.62);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:inset 0 1px 1px #ffffeb57,inset 0 -1px 1px #0002,0 10px 35px #0003;pointer-events:none}
.brand-seal{background:linear-gradient(150deg,#efe5c42e,#fff1 45%,#0001);border-color:#d4bc809e;box-shadow:inset 0 1px 2px #fff5,0 4px 13px #0003}
.desktop-cta,.menu-button{background:linear-gradient(155deg,#ffffff20,#ffffff07);border-color:#ede6d33e;box-shadow:inset 0 1px 1px #ffffff35,0 4px 12px #0002}
dialog#navigation{background:linear-gradient(140deg,#f3ecd922,transparent 45%),rgba(24,29,23,.68);border-color:#efe7ce5e;backdrop-filter:blur(30px) saturate(155%);-webkit-backdrop-filter:blur(30px) saturate(155%);box-shadow:inset 0 1px 1px #ffffed66,inset 0 -1px 1px #0003,0 22px 80px #0007}
dialog#navigation::backdrop{background:#10140f65;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.mobile-action{background:linear-gradient(140deg,#ffffee29,#ffffee06 50%),rgba(25,30,24,.56);border-color:#f0e9d954;backdrop-filter:blur(24px) saturate(165%);-webkit-backdrop-filter:blur(24px) saturate(165%);box-shadow:inset 0 1px 1px #ffffef66,inset 0 -1px 1px #0004,0 10px 34px #0005}
.crew-image figcaption{background:linear-gradient(140deg,#f0e9d421,transparent 55%),rgba(24,29,23,.61);border-color:#f0e9d954;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);box-shadow:inset 0 1px 1px #ffffef4a,0 8px 28px #0003}
.caption-tag,.story-number{padding:5px 11px;border-radius:100px;background:#1a20189c;border:1px solid #f5e9c73d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 1px 1px #ffffff20}
.motion-ready .reveal.visible{animation:none}
.mobile-action{transition:opacity 180ms ease-out,transform 220ms cubic-bezier(.16,1,.3,1),visibility 180ms}
.mobile-action:not(.is-available){opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}
.hero-copy{max-width:none;width:100%;padding:clamp(36px,5svh,64px) var(--gutter) 0;text-align:center}
.hero-copy h1{max-width:none;margin:0 auto;font-size:clamp(66px,7.4vw,112px);line-height:1.04}
.hero-title-main{position:relative;display:inline-block;letter-spacing:-.045em}
.hero-title-main svg{position:absolute;left:-20px;bottom:-13px;width:calc(100% + 40px);height:25px;overflow:visible;fill:none;stroke:var(--brass);stroke-width:1;opacity:.6;pointer-events:none}
.hero-title-main path{stroke-dasharray:540;stroke-dashoffset:0;animation:hero-guide 1s .3s var(--ease) both}
.hero-title-note{display:block;font:clamp(60px,6.2vw,94px)/1.08 Caveat,cursive;letter-spacing:-.025em;margin-top:14px}
.hero-bottom{justify-content:center;text-align:center;gap:0}
.hero-bottom>div{width:min(100%,390px)}
.hero-bottom p{max-width:none;margin:0 0 22px}
.hero-bottom .hero-handwritten{display:block;font:29px/1.12 Caveat,cursive;color:var(--chalk);text-wrap:balance}
.hero-bottom .button{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 32px;gap:12px;width:100%;min-height:58px;padding:10px 12px 10px 28px;border-radius:999px;color:#fffaf0;font-size:15px;font-weight:500;letter-spacing:-.015em;text-align:center;text-shadow:0 1px 8px #0009;background:linear-gradient(160deg,#ffffff25,#ffffff05 48%,#ffffff10),rgba(17,25,19,.08);border:1px solid #ffffff60;backdrop-filter:blur(8px) saturate(155%) brightness(1.3);-webkit-backdrop-filter:blur(8px) saturate(155%) brightness(1.3);box-shadow:inset 0 1px 1px #ffffffa8,inset 0 -1px 1px #ffffff30,0 8px 26px #0003;transition:transform 220ms cubic-bezier(.16,1,.3,1),box-shadow 180ms ease-out,background-color 180ms ease-out}
.hero-bottom .button::before{content:"";position:absolute;inset:2px;border-radius:inherit;pointer-events:none;z-index:-1;background:linear-gradient(165deg,#ffffff18,transparent 42%);border-top:1px solid #ffffff48;border-bottom:1px solid #ffffff18}
.hero-bottom .button>span[aria-hidden]{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid #ffffff48;background:linear-gradient(145deg,#ffffff28,#ffffff08);box-shadow:inset 0 1px 1px #ffffff40;font-size:17px;text-shadow:0 1px 5px #0005}
@media(hover:hover) and (pointer:fine){.hero-bottom .button:hover{background-color:rgba(255,255,245,.12);box-shadow:inset 0 1px 1px #ffffffc0,inset 0 -1px 1px #ffffff48,0 10px 28px #0004;transform:translateY(-1px)}}
.hero-bottom .button:active{transform:scale(.98);transition-duration:90ms;background-color:rgba(255,255,245,.17)}

@keyframes hero-guide{from{stroke-dashoffset:540}to{stroke-dashoffset:0}}
/* Source 1672 × 941; focal window x=870, y=300, w=802, h=601.
   Keep the extension roof, glazing and terrace together at every viewport. */
.extension-frame{position:relative;display:block;aspect-ratio:802/601;overflow:hidden;background:var(--panel)}
.service-hero .extension-frame img,.service-row .extension-frame img{position:absolute;width:208.4788%;max-width:none;height:auto;aspect-ratio:auto;left:-108.4788%;top:-49.9168%;object-fit:fill}
@media(max-width:760px){.hero-copy h1{max-width:none;font-size:clamp(56px,16vw,82px)}.hero-title-note{font-size:clamp(51px,14vw,73px)}.hero-bottom>div{max-width:330px}.hero-bottom .hero-handwritten{font-size:27px}.hero-bottom .button{min-height:54px}}
.story-motion .project-card .card-arrow{transition:transform 220ms cubic-bezier(.16,1,.3,1),background 180ms ease-out,color 180ms ease-out}
.story-motion .project-card .card-bottom h3{transition:color 180ms ease-out}
@media(hover:hover) and (pointer:fine){.story-motion .project-card:hover .card-arrow{transform:translate(2px,-2px);background:var(--brass);color:var(--bg)}.story-motion .project-card:hover .card-bottom h3{color:var(--brass)}}
@media(max-width:760px){.site-header::before{inset:6px 12px;border-radius:25px}.site-header{padding-left:22px;padding-right:22px}.brand-seal{width:41px;height:41px}.menu-button{height:42px;width:42px}.crew-image figcaption{background:linear-gradient(140deg,#f0e9d421,transparent 55%),rgba(24,29,23,.78)}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.site-header::before,.mobile-action,dialog#navigation,.crew-image figcaption,.caption-tag,.story-number,.hero-bottom .button{background:#20271e;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#d6c99f}}
@supports not (backdrop-filter:blur(1px)){.site-header::before,.mobile-action,dialog#navigation,.crew-image figcaption,.caption-tag,.story-number,.hero-bottom .button{background:#20271e}}
@media(prefers-reduced-motion:reduce){.story-motion .project-card:hover .card-arrow,.hero-bottom .button:hover,.hero-bottom .button:active{transform:none}}
@media print{.site-header::before{display:none}}
