:root{--black:#0b0e10;--black-2:#12171a;--stone:#f3ede4;--stone-2:#eae2d6;--gold:#c9ae7f;--gold-deep:#8a6f43;--teal:#374648;--concrete:#a7a7a7;--mist:#fafaf8;--ink:#1a1d1f;--ink-soft:#5b5750;--line-dark:#fafaf824;--line-light:#1a1d1f24;--f-display:"Jost","Futura","Century Gothic","Avenir Next",sans-serif;--f-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--f-accent:"Cormorant Garamond","Iowan Old Style",Georgia,serif;--gutter:clamp(16px,5vw,64px);--hdr-h:84px;--loc-h:56px;--max:1240px;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}body{background:var(--black);color:var(--mist);font-family:var(--f-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.eyebrow{font-family:var(--f-display);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-size:12px;font-weight:400}.on-stone .eyebrow{color:var(--gold-deep)}h1,h2,h3{font-family:var(--f-display);text-transform:uppercase;text-wrap:balance;margin:0;font-weight:300}h2{letter-spacing:.16em;font-size:clamp(28px,4.2vw,46px);line-height:1.2}.rule{opacity:.6;background:currentColor;border:0;width:44px;height:1px;margin:0}.btn{font-family:var(--f-display);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;align-items:center;gap:14px;padding:16px 26px;font-size:12px;font-weight:500;text-decoration:none;transition:background .25s,color .25s,border-color .25s;display:inline-flex}.btn svg{width:8px;height:12px;transition:transform .25s}.btn:hover svg{transform:translate(4px)}.btn-primary{background:var(--stone);color:var(--black)}.btn-primary:hover{background:var(--gold)}.btn-ghost{background:0 0;border-color:currentColor}.btn-ghost:hover{background:var(--black);color:var(--stone);border-color:var(--black)}.site-header{top:env(safe-area-inset-top,0px);z-index:20;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-dark);background:#0b0e10db;position:sticky}.nav{height:var(--hdr-h);justify-content:space-between;align-items:center;gap:24px;display:flex}.logo{color:var(--mist);flex-direction:column;align-items:center;gap:6px;text-decoration:none;display:flex}.logo svg{width:132px;height:auto}.logo span{font-family:var(--f-display);letter-spacing:.62em;padding-left:.62em;font-size:9.5px;font-weight:400}.nav-links{align-items:center;gap:clamp(18px,3vw,40px);margin:0;padding:0;list-style:none;display:flex}.nav-links a{font-family:var(--f-display);letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid #0000;padding-block:6px;font-size:12px;text-decoration:none;transition:border-color .2s,color .2s}.nav-links a:hover,.nav-links a.active{border-color:var(--gold);color:var(--stone)}.nav-cta{font-family:var(--f-display);letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--stone);border-radius:999px;padding:11px 22px;font-size:12px;text-decoration:none;transition:background .2s,color .2s}.nav-cta:hover{background:var(--stone);color:var(--black)}.menu-btn{border:1px solid var(--line-dark);color:var(--mist);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:44px;height:44px;display:none}.menu-btn svg{width:20px}@media (width<=860px){.menu-btn{display:inline-flex}.nav-cta{display:none}.nav-links{background:var(--black);border-bottom:1px solid var(--line-dark);padding:8px var(--gutter) 20px;flex-direction:column;align-items:flex-start;gap:0;position:absolute;top:100%;left:0;right:0}.nav-links[data-open=false]{display:none}.nav-links li{border-top:1px solid var(--line-dark);width:100%}.nav-links a{border:0;padding-block:16px;display:block}}.hero{background:var(--black);flex-direction:column;display:flex;position:relative;overflow:hidden}@media (width>=761px){.hero{min-height:calc(100svh - var(--hdr-h) - 2px - var(--loc-h))}}.hero-photo{background:url(/images/cranes-wide.jpg) 50%/cover no-repeat;position:absolute;inset:0 0 0 30%}.hero-photo:after{content:"";background:linear-gradient(90deg,var(--black) 0%,#0b0e10b8 26%,#0b0e1026 60%,#0b0e1080 100%),linear-gradient(0deg,var(--black) 0%,#0b0e1000 35%);position:absolute;inset:0}.hero-inner{box-sizing:border-box;flex:1;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:end;gap:40px;width:100%;padding-block:clamp(32px,5svh,96px) 100px;display:grid;position:relative}.hero h1{letter-spacing:.14em;font-size:min(clamp(44px,8.4vw,104px),max(44px,7.6svh));font-weight:200;line-height:1.02}.hero h1 .line{opacity:0;animation:.9s cubic-bezier(.2,.7,.2,1) forwards rise;display:block;transform:translateY(18px)}.hero h1 .line:nth-child(2){animation-delay:.12s}.hero h1 .line:nth-child(3){animation-delay:.24s}.hero h1 .line:nth-child(4){color:var(--gold);animation-delay:.36s}@media (prefers-reduced-motion:reduce){.hero h1 .line{opacity:1;transform:none}}@keyframes rise{to{opacity:1;transform:none}}.hero-copy{flex-direction:column;gap:clamp(14px,2.2svh,28px);max-width:700px;display:flex}.hero-lede{font-family:var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:#fafaf8d1;max-width:44ch;margin:0;font-size:clamp(13px,1.4vw,15px);line-height:1.9}.hero-aside{border-left:1px solid var(--line-dark);font-family:var(--f-display);letter-spacing:.3em;text-transform:uppercase;color:#fafaf8bf;margin:0;padding-left:20px;font-size:12px;line-height:2.2;list-style:none}.waves{pointer-events:none;height:110px;position:absolute;bottom:0;left:0;right:0}.waves path{fill:none;stroke:var(--gold);stroke-width:1px;vector-effect:non-scaling-stroke}.waves .w1{opacity:.55;animation:18s linear infinite drift}.waves .w2{opacity:.3;animation:26s linear infinite reverse drift}.waves .w3{opacity:.16;animation:34s linear infinite drift}@keyframes drift{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width<=760px){.hero-photo{inset:0}.hero-photo:after{background:linear-gradient(0deg,var(--black) 8%,#0b0e108c 60%,#0b0e1059 100%)}.hero-inner{grid-template-columns:1fr}.hero-aside{display:none}}.on-stone{background:var(--stone);color:var(--ink)}.locator{border-bottom:1px solid var(--line-light)}.locator .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 40px;padding-block:16px;display:flex}@media (width>=761px){.locator .wrap{box-sizing:border-box;height:var(--loc-h);padding-block:0}}.locator p{font-family:var(--f-display);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:12px}.locator .coords{font-variant-numeric:tabular-nums;color:var(--ink)}.locator .coords b{color:var(--gold-deep);font-weight:400}.services .wrap{grid-template-columns:minmax(0,1fr) minmax(0,2.3fr);gap:48px;padding-block:clamp(64px,8vw,110px);display:grid}.services-head{flex-direction:column;gap:22px;display:flex}.services-head p{color:var(--ink-soft);max-width:34ch;margin:0}.svc-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.svc{border-left:1px solid var(--line-light);flex-direction:column;gap:14px;padding:4px 24px 8px;display:flex}.svc svg{width:38px;height:38px;stroke:var(--ink);stroke-width:1.2px;fill:none;margin-bottom:12px}.svc h3{letter-spacing:.26em;color:var(--gold-deep);font-size:13px;font-weight:500}.svc p{color:var(--ink-soft);margin:0;font-size:14.5px;line-height:1.6}.svc ul{color:var(--ink);flex-direction:column;gap:4px;margin:6px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.svc li{padding-left:14px;position:relative}.svc li:before{content:"";background:var(--gold-deep);border-radius:50%;width:5px;height:5px;position:absolute;top:.6em;left:0}@media (width<=1000px){.services .wrap{grid-template-columns:1fr}}@media (width<=640px){.svc-grid{grid-template-columns:1fr 1fr;row-gap:36px}.svc{padding-inline:16px}}@media (width<=420px){.svc-grid{grid-template-columns:1fr}}.work{padding-block:clamp(64px,8vw,110px)}.section-bar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin-bottom:36px;display:flex}.section-bar h2{letter-spacing:.3em;font-size:clamp(14px,1.4vw,15px);font-weight:500}.text-link{font-family:var(--f-display);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);align-items:center;gap:10px;font-size:12px;text-decoration:none;display:inline-flex}.text-link svg{width:7px;height:10px}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.card{flex-direction:column;gap:18px;text-decoration:none;display:flex}.card-img{aspect-ratio:16/10;background:var(--black-2);overflow:hidden}.card-img img{object-fit:cover;filter:saturate(.9);width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.card:hover .card-img img{filter:saturate(1.05);transform:scale(1.04)}.card-meta{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;display:grid}.card h3{letter-spacing:.24em;font-size:13px;font-weight:500}.card p{font-family:var(--f-display);letter-spacing:.22em;text-transform:uppercase;color:var(--concrete);grid-column:1;margin:0;font-size:11px}.card .arrow{width:22px;stroke:var(--gold);grid-area:1/2/3;transition:transform .25s}.card:hover .arrow{transform:translate(5px)}@media (width<=860px){.work-grid{grid-template-columns:1fr 1fr}.work-grid .card:last-child{grid-column:1/-1}}@media (width<=560px){.work-grid{grid-template-columns:1fr}}.city{border-top:1px solid var(--line-dark);padding-block:clamp(56px,7vw,90px)}.city-scroll{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--teal) transparent;grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;gap:14px;padding-bottom:12px;display:grid;overflow-x:auto}.city figure{scroll-snap-align:start;flex-direction:column;gap:12px;margin:0;display:flex}.city figure img{aspect-ratio:4/5;object-fit:cover;width:100%}.city figcaption{font-family:var(--f-display);letter-spacing:.22em;text-transform:uppercase;color:var(--concrete);flex-direction:column;gap:2px;font-size:11px;display:flex}.city figcaption b{color:var(--mist);font-weight:400}.about{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);display:grid}.about-copy{padding:clamp(56px,7vw,100px) clamp(16px,5vw,72px) clamp(56px,7vw,100px) max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));flex-direction:column;justify-content:center;gap:24px;display:flex}.about-copy h2{font-size:clamp(24px,3vw,34px)}.about-copy p{color:var(--ink-soft);max-width:48ch;margin:0}.about-copy .btn{align-self:flex-start}.about-photo{background:url(/images/hall.jpg) 50%/cover;min-height:420px;position:relative}.about-photo:after{content:"";background:linear-gradient(90deg,#0b0e1000 30%,#0b0e10b3);position:absolute;inset:0}.about-photo blockquote{z-index:1;color:var(--stone);flex-direction:column;gap:18px;margin:0;display:flex;position:absolute;top:50%;right:clamp(16px,5vw,64px);transform:translateY(-50%)}.about-photo blockquote p{font-family:var(--f-accent);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:clamp(22px,2.3vw,30px);font-style:italic;font-weight:300;line-height:1.35}@media (width<=860px){.about{grid-template-columns:1fr}.about-copy{padding-inline:var(--gutter)}.about-photo{min-height:360px}}.process{border-top:1px solid var(--line-light);padding-block:clamp(64px,8vw,110px)}.process .intro{flex-direction:column;gap:18px;max-width:640px;margin-bottom:48px;display:flex}.process .intro p{color:var(--ink-soft);margin:0}.steps{counter-reset:step;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;border-top:1px solid var(--ink);flex-direction:column;gap:12px;padding:28px 24px 8px 0;display:flex;position:relative}.steps li:before{content:counter(step,decimal-leading-zero);font-family:var(--f-display);letter-spacing:.24em;color:var(--gold-deep);font-variant-numeric:tabular-nums;font-size:12px}.steps h3{letter-spacing:.2em;font-size:18px;font-weight:400}.steps p{color:var(--ink-soft);max-width:30ch;margin:0;font-size:14.5px}@media (width<=860px){.steps{grid-template-columns:1fr 1fr;row-gap:24px}}@media (width<=480px){.steps{grid-template-columns:1fr}}.contact{padding-block:clamp(72px,9vw,120px);position:relative;overflow:hidden}.contact .waves{opacity:.6;top:auto}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(40px,6vw,96px);display:grid;position:relative}.contact-head{flex-direction:column;gap:24px;display:flex}.contact-head h2{font-size:clamp(30px,4vw,48px)}.contact-head p{color:#fafaf8b8;max-width:40ch;margin:0}.contact-details{flex-direction:column;gap:14px;margin-top:8px;font-size:14px;display:flex}.contact-details div{grid-template-columns:90px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.contact-details dt{font-family:var(--f-display);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-size:11px}.contact-details dd{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.copy-btn{border:1px solid var(--line-dark);color:var(--concrete);font:inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;padding:4px 10px;font-size:11px}.copy-btn:hover{color:var(--mist);border-color:var(--mist)}form{grid-template-columns:1fr 1fr;align-content:start;gap:22px 20px;display:grid}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field.full{grid-column:1/-1}label,.legend{font-family:var(--f-display);letter-spacing:.24em;text-transform:uppercase;color:var(--concrete);font-size:11px}input,textarea,select{font:inherit;color:var(--mist);background:0 0;border:0;border-bottom:1px solid #fafaf84d;border-radius:0;width:100%;padding:10px 0;font-size:15px}textarea{resize:vertical;min-height:110px}input:focus,textarea:focus{border-color:var(--gold);outline:none}.chips{border:0;flex-flow:wrap;gap:10px;margin:0;padding:0;display:flex}.chips input{opacity:0;width:1px;height:1px;position:absolute}.chips label{letter-spacing:.2em;cursor:pointer;color:var(--mist);border:1px solid #fafaf840;padding:9px 16px;transition:all .2s}.chips input:checked+label{background:var(--gold);border-color:var(--gold);color:var(--black)}.chips input:focus-visible+label{outline:2px solid var(--gold);outline-offset:2px}.form-foot{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:16px 24px;display:flex}.form-note{color:var(--gold);margin:0;font-size:14px}.error{color:#e6a58c;min-height:0;font-size:12.5px}@media (width<=860px){.contact-grid{grid-template-columns:1fr}}@media (width<=520px){form{grid-template-columns:1fr}}.site-footer{border-top:1px solid var(--line-dark);padding-block:40px;font-size:12px}.foot{font-family:var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:var(--concrete);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 40px;display:flex}.foot nav{flex-wrap:wrap;gap:12px 28px;display:flex}.foot a{text-decoration:none}.foot a:hover{color:var(--mist)}.contact-details a{color:var(--mist);border-bottom:1px solid var(--line-dark);text-decoration:none}.contact-details a:hover{border-color:var(--gold)}.chips legend{margin-bottom:12px}.card[hidden]{display:none}.page-head{border-bottom:1px solid var(--line-dark);padding-block:clamp(72px,10vw,140px) clamp(40px,5vw,64px);position:relative}.page-head .wrap{flex-direction:column;gap:22px;display:flex}.page-head h1{letter-spacing:.14em;font-size:clamp(36px,6.4vw,76px);font-weight:200;line-height:1.05}.page-head p{color:#fafaf8b8;max-width:52ch;margin:0}.page-head.thanks{border-bottom:0;min-height:60vh}.work-index{padding-top:40px}.filters{flex-wrap:wrap;gap:10px;margin-bottom:36px;display:flex}.filter{font-family:var(--f-display);letter-spacing:.22em;text-transform:uppercase;color:var(--mist);cursor:pointer;background:0 0;border:1px solid #fafaf840;padding:10px 18px;font-size:11px;transition:all .2s}.filter:hover{border-color:var(--mist)}.filter[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--black)}.work-index .work-grid{row-gap:48px}.empty{color:var(--concrete)}.empty a{color:var(--gold)}.case-hero{background:linear-gradient(var(--black) 0 72%,var(--stone) 72% 100%);padding-top:clamp(56px,8vw,110px)}.case-title{flex-direction:column;gap:22px;padding-bottom:clamp(32px,4vw,52px);display:flex}.case-title h1{letter-spacing:.12em;max-width:20ch;font-size:clamp(34px,6vw,72px);font-weight:200;line-height:1.06}.case-cover{aspect-ratio:16/10;background:var(--black-2);margin:0;overflow:hidden;box-shadow:0 30px 60px -30px #0009}.case-cover img{object-fit:cover;width:100%;height:100%}.back{align-self:flex-start}.case-intro-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);padding-block:clamp(48px,7vw,96px);display:grid}.case-summary{font-family:var(--f-display);color:var(--ink);text-wrap:pretty;margin:0;font-size:clamp(20px,2.4vw,28px);font-weight:300;line-height:1.5}.case-facts{border-top:1px solid var(--ink);flex-direction:column;margin:0;display:flex}.case-facts div{border-bottom:1px solid var(--line-light);grid-template-columns:110px minmax(0,1fr);gap:16px;padding-block:14px;display:grid}.case-facts dt{font-family:var(--f-display);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);padding-top:3px;font-size:11px}.case-facts dd{color:var(--ink);margin:0}.case-facts a{color:var(--ink)}@media (width<=820px){.case-intro-grid{grid-template-columns:1fr}}.case-body{padding-bottom:clamp(56px,8vw,110px)}.prose{max-width:720px;color:var(--ink);font-size:17px;line-height:1.75}.prose>*+*{margin-top:1.1em}.prose p{margin-bottom:0}.prose>:first-child{margin-top:0}.case-body{display:flow-root}.prose h2{letter-spacing:.18em;margin-top:2.2em;font-size:clamp(20px,2.2vw,24px);font-weight:400}.prose h3{letter-spacing:.2em;color:var(--gold-deep);margin-top:1.8em;font-size:15px;font-weight:500}.prose blockquote{border-left:1px solid var(--gold-deep);font-family:var(--f-accent);margin:2em 0;padding-left:24px;font-size:24px;font-style:italic;line-height:1.45}.prose ul{padding-left:1.2em}.prose figure{margin:2.2em 0}.prose figcaption,.case-gallery figcaption{font-family:var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-top:10px;font-size:11px}.prose a{color:var(--gold-deep)}.case-gallery{padding-block:clamp(48px,6vw,88px)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.gallery-grid figure{margin:0}.gallery-grid img{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery-grid figure:only-child,.gallery-grid figure:nth-child(3n){grid-column:1/-1}.gallery-grid figure:only-child img,.gallery-grid figure:nth-child(3n) img{aspect-ratio:16/8}.case-gallery figcaption{color:var(--concrete)}@media (width<=640px){.gallery-grid{grid-template-columns:1fr}.gallery-grid img{aspect-ratio:4/3!important}}.next-project{border-top:1px solid var(--line-dark);padding-block:clamp(48px,6vw,80px);text-decoration:none;transition:background .3s;display:block}.next-project .wrap{flex-direction:column;gap:14px;display:flex}.next-title{font-family:var(--f-display);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:20px;font-size:clamp(26px,4vw,48px);font-weight:200;display:flex}.next-title svg{width:40px;stroke:var(--gold);flex:none;transition:transform .3s}.next-project:hover{background:var(--black-2)}.next-project:hover svg{transform:translate(8px)}.hero-slides{position:absolute;inset:0 0 0 30%;overflow:hidden}.hero-slides .slide{opacity:0;background:50%/cover no-repeat;animation:21s linear infinite slide;position:absolute;inset:0}.hero-slides .slide:first-child{opacity:1;animation-delay:-1s}.hero-slides .slide:nth-child(2){animation-delay:6s}.hero-slides .slide:nth-child(3){animation-delay:13s}.hero-slides:after{content:"";background:linear-gradient(90deg,var(--black) 0%,#0b0e10b8 26%,#0b0e1026 60%,#0b0e1080 100%),linear-gradient(0deg,var(--black) 0%,#0b0e1000 35%);position:absolute;inset:0}@keyframes slide{0%{opacity:0;transform:scale(1.08)}4.8%{opacity:1}33.3%{opacity:1}38%{opacity:0;transform:scale(1)}to{opacity:0;transform:scale(1)}}.hero-caption{right:var(--gutter);text-align:right;min-width:200px;height:14px;font-family:var(--f-display);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:0;font-size:10.5px;position:absolute;bottom:120px}.hero-caption span{white-space:nowrap;opacity:0;animation:21s linear infinite cap;position:absolute;top:0;right:0}.hero-caption span:first-child{opacity:1;animation-delay:-1s}.hero-caption span:nth-child(2){animation-delay:6s}.hero-caption span:nth-child(3){animation-delay:13s}@keyframes cap{0%{opacity:0}4.8%{opacity:1}33.3%{opacity:1}38%{opacity:0}to{opacity:0}}.hero-aside{margin-bottom:48px}@media (width<=760px){.hero-slides{inset:0}.hero-slides:after{background:linear-gradient(0deg,var(--black) 8%,#0b0e108c 60%,#0b0e1059 100%)}.hero-caption{display:none}}@media (prefers-reduced-motion:reduce){.hero-slides .slide:nth-child(n+2),.hero-caption span:nth-child(n+2){display:none}}.belfast-band{background:var(--black);border-top:1px solid var(--line-dark);position:relative;overflow:hidden}.band-photo{filter:saturate(.85);background:url(/images/cranes-wide.jpg) 50% 35%/cover no-repeat;position:absolute;inset:0}.band-photo:after{content:"";background:linear-gradient(90deg,#0b0e10f0 0%,#0b0e10cc 45%,#0b0e108c 100%);position:absolute;inset:0}.band-inner{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,96px);padding-block:clamp(72px,10vw,140px);display:grid;position:relative}.band-copy{flex-direction:column;gap:22px;display:flex}.band-copy h2{letter-spacing:.14em;font-size:clamp(30px,4.6vw,56px);font-weight:200;line-height:1.1}.band-copy p{color:#fafaf8c7;max-width:46ch;margin:0}.band-sign{border:1px solid #c9ae7f66;margin:0;padding:14px;position:relative}.band-sign img{aspect-ratio:2;object-fit:cover;filter:sepia(.15)saturate(.9);width:100%}.band-sign:before{content:"54.597° N · 5.930° W";background:var(--black);font-family:var(--f-display);letter-spacing:.24em;color:var(--gold);font-variant-numeric:tabular-nums;padding:0 10px;font-size:10px;position:absolute;top:-9px;right:14px}@media (width<=820px){.band-inner{grid-template-columns:1fr}.band-sign{max-width:460px}}.mosaic{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,17vw,240px);gap:12px;display:grid}.mosaic figure{background:var(--black-2);margin:0;position:relative;overflow:hidden}.mosaic figure:first-child{grid-area:span 2/span 2}.mosaic figure:nth-child(2){grid-column:span 2}.mosaic img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.mosaic figure:hover img{transform:scale(1.05)}.mosaic figcaption{font-family:var(--f-display);letter-spacing:.22em;text-transform:uppercase;color:var(--concrete);background:linear-gradient(#0b0e1000,#0b0e10d9);flex-direction:column;gap:2px;padding:40px 16px 14px;font-size:10.5px;display:flex;position:absolute;bottom:0;left:0;right:0}.mosaic figcaption b{color:var(--mist);font-size:11.5px;font-weight:400}@media (width<=700px){.mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:160px}.mosaic figure:nth-child(2){grid-column:span 2}}.page-head.has-photo{overflow:hidden}.page-head.has-photo:before{content:"";background:var(--photo) center/cover no-repeat;opacity:.75;position:absolute;inset:0}.page-head.has-photo:after{content:"";background:linear-gradient(90deg,var(--black) 5%,#0b0e1099 60%,#0b0e1059),linear-gradient(0deg,var(--black),#0b0e1000 50%);position:absolute;inset:0}.page-head.has-photo .wrap{z-index:1;position:relative}.next-project{position:relative;overflow:hidden}.next-project:before{content:"";background:var(--photo) center/cover no-repeat;opacity:.1;filter:blur(6px);transition:opacity .4s;position:absolute;inset:-20px}.next-project:hover:before{opacity:.2}.next-project .wrap{position:relative}.contact:before{content:"";opacity:.35;pointer-events:none;background:url(/images/map-texture.jpg) 50%/cover;position:absolute;inset:0 0 0 45%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 40%);mask-image:linear-gradient(90deg,#0000,#000 40%)}.site-footer{position:relative;overflow:hidden}.site-footer:before{content:"";opacity:.25;pointer-events:none;background:url(/images/wave-texture.jpg) 50%/cover;position:absolute;inset:0}.site-footer .foot{position:relative}.hp{display:none!important}.work-mosaic{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.work-mosaic .tile{aspect-ratio:16/10;background:var(--black-2);text-decoration:none;display:block;position:relative;overflow:hidden}.work-mosaic .tile.big{aspect-ratio:auto;grid-area:span 2/span 2}.work-mosaic img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.work-mosaic .tile:hover img{transform:scale(1.04)}.tile-cap{font-family:var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:var(--concrete);opacity:0;background:linear-gradient(#0b0e1000,#0b0e10e0);flex-direction:column;gap:3px;padding:36px 14px 12px;font-size:10px;transition:opacity .3s,transform .3s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(6px)}.tile-cap b{color:var(--mist);font-size:11px;font-weight:400}.work-mosaic .tile:hover .tile-cap,.work-mosaic .tile:focus-visible .tile-cap,.work-mosaic .tile.big .tile-cap{opacity:1;transform:none}.tile-cta{border:1px solid #c9ae7f73;flex-direction:column;justify-content:flex-end;gap:10px;padding:18px;transition:background .3s;background:0 0!important;display:flex!important}.tile-cta:hover{background:#c9ae7f14!important}.tile-cta-title{font-family:var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--mist);align-items:center;gap:12px;font-size:clamp(16px,1.6vw,22px);font-weight:300;display:flex}.tile-cta-title svg{width:26px;stroke:var(--gold);flex:none;transition:transform .3s}.tile-cta:hover .tile-cta-title svg{transform:translate(6px)}@media (hover:none){.tile-cap{opacity:1;transform:none}}@media (width<=700px){.work-mosaic{grid-template-columns:1fr 1fr}.work-mosaic .tile.big{aspect-ratio:16/10;grid-row:span 1}.tile-cta{padding:14px}.tile-cta .eyebrow{display:none}.tile-cta-title{letter-spacing:.12em;font-size:14px}}.case-highlights{border-top:1px solid var(--line-dark);padding-block:clamp(56px,7vw,96px)}.case-highlights .section-bar{margin-bottom:28px}.hl-grid{background:var(--line-dark);border:1px solid var(--line-dark);counter-reset:hl;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid}.hl{background:var(--black);counter-increment:hl;flex-direction:column;gap:12px;padding:30px 28px 32px;display:flex}.hl:before{content:counter(hl,decimal-leading-zero);font-family:var(--f-display);letter-spacing:.24em;color:var(--gold);font-variant-numeric:tabular-nums;font-size:12px}.hl h3{letter-spacing:.14em;font-size:18px;font-weight:400;line-height:1.3}.hl p{color:#fafaf8b8;margin:0;font-size:15px;line-height:1.6}.hl-grid:has(>.hl:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=900px){.hl-grid,.hl-grid:has(>.hl:nth-child(4):last-child){grid-template-columns:1fr 1fr}}@media (width<=560px){.hl-grid,.hl-grid:has(>.hl:nth-child(4):last-child){grid-template-columns:1fr}}.case-gallery{border-top:1px solid var(--line-dark)}.case-cta-in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 40px;padding-block:clamp(48px,6vw,80px);display:flex}.case-cta-in>div{flex-direction:column;gap:14px;display:flex}.case-cta h2{letter-spacing:.12em;font-size:clamp(24px,3.2vw,36px);font-weight:300}.pricing{border-top:1px solid var(--line-dark);padding-block:clamp(64px,8vw,110px)}.pricing-head{flex-direction:column;gap:18px;max-width:640px;margin-bottom:48px;display:flex}.pricing-head p{color:#fafaf8b8;margin:0}.plans{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.plan{border:1px solid var(--line-dark);background:#fafaf805;flex-direction:column;gap:14px;padding:32px 24px 28px;display:flex;position:relative}.plan h3{letter-spacing:.26em;font-size:15px;font-weight:500}.plan-price{font-family:var(--f-display);letter-spacing:.02em;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;font-size:clamp(38px,3.5vw,48px);font-weight:200;line-height:1;display:flex}.plan-from{letter-spacing:.24em;text-transform:uppercase;color:var(--concrete);font-size:11px;font-weight:400}.plan-from:empty{display:none}.plan-desc{color:#fafaf8b8;min-height:6.4em;margin:0;font-size:14.5px;line-height:1.6}.plan ul{border-top:1px solid var(--line-dark);flex-direction:column;flex:1;gap:9px;margin:6px 0 10px;padding:16px 0 0;font-size:14px;list-style:none;display:flex}.plan li{padding-left:22px;position:relative}.plan li:before{content:"";border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);width:9px;height:5px;position:absolute;top:.42em;left:2px;transform:rotate(-45deg)}.plan .btn{color:var(--stone);justify-content:space-between}.plan .btn-ghost:hover{background:var(--stone);color:var(--black);border-color:var(--stone)}.plan.featured{background:var(--stone);color:var(--ink);border-color:var(--stone)}.plan.featured .plan-desc,.plan.featured .plan-from{color:var(--ink-soft)}.plan.featured ul{border-top-color:var(--line-light)}.plan.featured li:before{border-color:var(--gold-deep)}.btn-dark{background:var(--black);color:var(--stone)!important}.btn-dark:hover{background:var(--gold-deep)}.plan-flag{background:var(--gold);color:var(--black);font-family:var(--f-display);letter-spacing:.24em;text-transform:uppercase;padding:7px 12px;font-size:10px;font-weight:500;position:absolute;top:-1px;right:-1px}.pricing-extras{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;margin-top:16px;display:grid}.care{border:1px solid var(--gold);flex-direction:column;gap:10px;padding:28px 24px;display:flex}.care p{color:#fafaf8b8;margin:0;font-size:14.5px}.care .care-price{font-family:var(--f-display);color:var(--mist);font-size:40px;font-weight:200;line-height:1}.care-price small{letter-spacing:.1em;color:var(--concrete);font-size:14px}.care-price span{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:8px;font-size:12px;font-weight:400;display:block}.extras{border:1px solid var(--line-dark);grid-template-columns:1fr 1fr;margin:0;display:grid}.extras div{border-bottom:1px solid var(--line-dark);flex-direction:column;gap:4px;padding:18px 24px;display:flex}.extras div:nth-child(odd){border-right:1px solid var(--line-dark)}.extras div:last-child{border-bottom:0;border-right:0;grid-column:1/-1}.extras dt{font-family:var(--f-display);letter-spacing:.24em;text-transform:uppercase;color:var(--concrete);font-size:11px}.extras dd{margin:0;font-size:15px}.pricing-note{color:var(--concrete);margin:24px 0 0;font-size:13px}@media (width<=1080px){.plans{grid-template-columns:1fr 1fr}.plan-desc{min-height:0}}@media (width<=760px){.pricing-extras{grid-template-columns:1fr}}@media (width<=560px){.plans,.extras{grid-template-columns:1fr}.extras div:nth-child(odd){border-right:0}}.plan-was{white-space:nowrap;color:var(--concrete);margin-left:4px;font-size:15px;font-weight:300;text-decoration-thickness:1px}.plan.featured .plan-was{color:var(--ink-soft)}.offer-banner{border:1px solid var(--gold);flex-wrap:wrap;align-self:flex-start;align-items:baseline;gap:6px 12px;padding:10px 16px;font-size:14px;display:inline-flex;color:var(--mist)!important;margin:6px 0 0!important}.offer-banner b{font-family:var(--f-display);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-size:11px;font-weight:500}
