@import "https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Poppins:wght@700&display=swap";html,body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0;padding:0}ul[role=list],ol[role=list]{margin:0;padding:0;list-style:none}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}:where(p,li,td,th,label,dd,dt,figcaption) :where(a,strong):before{content:" "}:root{--font-display:"Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-agency:"Poppins", system-ui, sans-serif;--color-bg:#f1f3f5;--color-bg-elevated:#fff;--color-text:#212529;--color-heading:#121417;--color-muted:#5c636a;--color-accent:#ada165;--color-accent-text:#111;--color-on-dark:#f1f3f5;--color-dark:#121417;--color-border:#1214171f;--space-section:clamp(4.5rem, 10vw, 8rem);--space-gutter:clamp(1.25rem, 4vw, 3rem);--max-width:72rem;--nav-height:4.25rem;--radius-sm:.15rem;--ease:cubic-bezier(.22, 1, .36, 1);--focus-ring:0 0 0 3px color-mix(in srgb, var(--color-accent) 55%, transparent)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--color-bg);min-width:0;color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.65}body.nav-open{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--color-heading)}:focus-visible{box-shadow:var(--focus-ring);outline:none}.skip-link{z-index:1000;background:var(--color-heading);color:var(--color-on-dark);border-radius:var(--radius-sm);padding:.75rem 1rem;text-decoration:none;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:50;height:var(--nav-height);background:color-mix(in srgb, var(--color-bg) 88%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.site-header__inner{width:min(100% - (var(--space-gutter) * 2), var(--max-width));justify-content:space-between;align-items:center;gap:1rem;height:100%;margin-inline:auto;display:flex}.site-logo{color:var(--color-heading);letter-spacing:-.02em;align-items:center;gap:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.site-logo__mark{border-radius:var(--radius-sm);flex-shrink:0;width:2.25rem;height:2.25rem;overflow:hidden}.site-logo__mark img{object-fit:cover;width:100%;height:100%}.site-nav{align-items:center;gap:1.75rem;display:flex}.site-nav a{color:var(--color-text);font-size:.9375rem;font-weight:500;text-decoration:none}.site-nav a:hover{color:var(--color-accent)}.nav-toggle{border:1px solid var(--color-border);cursor:pointer;border-radius:var(--radius-sm);z-index:60;background:0 0;width:2.75rem;height:2.75rem;padding:0;display:none;position:relative}.nav-toggle__bar{background:var(--color-heading);width:1.15rem;height:1.5px;transition:transform .25s var(--ease), opacity .2s ease;margin:.28rem auto;display:block}.nav-toggle[aria-expanded=true] .nav-toggle__bar:first-child{transform:translateY(.34rem)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle__bar:nth-child(3){transform:translateY(-.34rem)rotate(-45deg)}@media (width<=900px){.nav-toggle{flex-direction:column;justify-content:center;align-items:center;display:inline-flex}.site-nav{z-index:55;background:var(--color-bg);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s var(--ease), visibility .25s;flex-direction:column;justify-content:center;gap:1.5rem;position:fixed;inset:0}.site-nav.is-open{opacity:1;visibility:visible;pointer-events:auto}.site-nav a{font-size:1.35rem;font-weight:600}}.btn{border:1px solid var(--color-heading);min-height:2.85rem;color:var(--color-heading);letter-spacing:.01em;cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.35rem;font-family:inherit;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--color-heading);color:var(--color-on-dark);text-decoration:none}.btn--accent{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-text)}.btn--accent:hover{background:var(--color-heading);border-color:var(--color-heading);color:var(--color-on-dark)}.btn-row{flex-wrap:wrap;justify-content:center;gap:.75rem 1rem;display:flex}.btn-row--start{justify-content:flex-start}.section{padding-block:var(--space-section)}.section__inner{width:min(100% - (var(--space-gutter) * 2), var(--max-width));margin-inline:auto}.section__label{color:var(--color-heading);font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 .75rem;font-size:clamp(1.75rem,3.5vw,2.35rem);font-weight:600;line-height:1.15}.section__lede{max-width:38rem;color:var(--color-muted);margin:0 0 1.5rem;font-size:1.0625rem}.section__lede--center{text-align:center;margin-inline:auto}.hero{min-height:min(100svh,56rem);padding:calc(var(--nav-height) + 1rem) var(--space-gutter) 4rem;place-items:center;display:grid;position:relative;overflow:clip}.hero__stage{pointer-events:none;position:absolute;inset:0}.hero__float{aspect-ratio:4/5;border-radius:var(--radius-sm);width:min(34vw,22rem);position:absolute;overflow:hidden;box-shadow:0 18px 50px #1214172e}.hero__float img{object-fit:cover;width:100%;height:100%}.hero__float--tl{aspect-ratio:5/4;width:min(28vw,18rem);top:8%;left:max(-2rem,2vw)}.hero__float--tr{width:min(26vw,16rem);top:12%;right:max(-1rem,3vw)}.hero__float--bl{aspect-ratio:1;width:min(24vw,15rem);bottom:10%;left:max(1rem,8vw)}.hero__float--br{aspect-ratio:3/2;width:min(36vw,24rem);bottom:6%;right:max(-2rem,2vw)}.hero__content{z-index:2;text-align:center;width:min(100%,42rem);padding:1.5rem 1rem;position:relative}.hero__payoff{color:var(--color-muted);letter-spacing:.01em;margin:0 0 .75rem;font-size:clamp(1rem,2vw,1.2rem);font-style:italic;font-weight:400}.hero__title{color:var(--color-heading);font-family:var(--font-display);letter-spacing:-.045em;margin:0 0 1.25rem;font-size:clamp(2.35rem,7.5vw,4.75rem);font-weight:500;line-height:1.02}.hero__body{max-width:32rem;color:var(--color-text);margin:0 auto 1.75rem;font-size:clamp(1rem,1.6vw,1.125rem)}@media (width<=900px){.hero{gap:1.5rem;min-height:auto;padding-top:2rem;padding-bottom:3rem}.hero__stage{margin-inline:auto;grid-template-columns:1fr 1fr;gap:.65rem;width:min(100%,28rem);margin-bottom:.5rem;display:grid;position:relative;inset:auto}.hero__float{aspect-ratio:4/5;width:100%;position:relative;inset:auto;box-shadow:0 10px 28px #1214171f}.hero__float--tl,.hero__float--tr,.hero__float--bl,.hero__float--br{width:100%;inset:auto}.hero__float--tl{aspect-ratio:5/4}.hero__float--br{aspect-ratio:3/2}}.services{text-align:center}.services__panel{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);max-width:40rem;margin-inline:auto;padding:clamp(1.75rem,4vw,2.75rem)}.services__name{color:var(--color-heading);letter-spacing:-.025em;margin:0 0 1rem;font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:600}.services__text{color:var(--color-text);margin:0 0 1.5rem}.gallery .section__inner{width:min(100% - (var(--space-gutter) * 2), 90rem)}.gallery__intro{text-align:center;margin-bottom:clamp(1.5rem,4vw,2.5rem)}.gallery__grid{grid-template-columns:repeat(12,1fr);gap:.65rem;display:grid}.gallery__item{background:var(--color-dark);border-radius:var(--radius-sm);min-height:12rem;position:relative;overflow:hidden}.gallery__item img{object-fit:cover;width:100%;height:100%;transition:transform .55s var(--ease)}@media (prefers-reduced-motion:reduce){.gallery__item img{transition:none}}.gallery__item:hover img{transform:scale(1.03)}@media (prefers-reduced-motion:reduce){.gallery__item:hover img{transform:none}}.gallery__item--wide{grid-column:span 8;min-height:clamp(16rem,32vw,28rem)}.gallery__item--tall{grid-column:span 4;min-height:clamp(16rem,32vw,28rem)}.gallery__item--mid{grid-column:span 6;min-height:clamp(14rem,26vw,22rem)}.gallery__item--third{grid-column:span 4;min-height:clamp(12rem,22vw,18rem)}.gallery__cta{text-align:center;margin-top:2rem}@media (width<=700px){.gallery__grid{grid-template-columns:1fr 1fr;gap:.5rem}.gallery__item--wide,.gallery__item--tall,.gallery__item--mid,.gallery__item--third{grid-column:span 1;min-height:11rem}.gallery__item:first-child{grid-column:1/-1;min-height:14rem}}.about{background:var(--color-dark);color:var(--color-on-dark)}.about .section__label,.about .about__name{color:var(--color-on-dark)}.about .section__lede,.about p{color:color-mix(in srgb, var(--color-on-dark) 82%, transparent)}.about__layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(1.5rem,5vw,3.5rem);display:grid}.about__media{border-radius:var(--radius-sm);min-height:22rem;overflow:hidden}.about__media img{object-fit:cover;width:100%;height:100%;min-height:22rem}.about__name{letter-spacing:-.03em;margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:500}.about__text{margin:0 0 1rem}.about__text:last-of-type{margin-bottom:1.5rem}.about .btn{border-color:var(--color-accent);color:var(--color-accent-text);background:var(--color-accent)}.about .btn:hover{background:var(--color-on-dark);border-color:var(--color-on-dark);color:var(--color-heading)}@media (width<=800px){.about__layout{grid-template-columns:1fr}.about__media,.about__media img{min-height:16rem}}.area{text-align:center}.area__layout{gap:1.5rem;display:grid}.area__media{border-radius:var(--radius-sm);max-height:28rem;overflow:hidden}.area__media img{object-fit:cover;width:100%;height:100%;max-height:28rem}.area__copy{max-width:36rem;margin-inline:auto}.contact__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}.contact__list{gap:1rem;margin:1.5rem 0;padding:0;list-style:none;display:grid}.contact__list li{gap:.2rem;display:grid}.contact__list span{color:var(--color-muted);letter-spacing:.02em;text-transform:uppercase;font-size:.875rem}.contact__list a{color:var(--color-heading);font-size:1.125rem;font-weight:500;text-decoration:none}.contact__list a:hover{color:var(--color-accent)}.contact__map{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);min-height:20rem;position:relative;overflow:hidden}.contact__map iframe{border:0;width:100%;height:100%;position:absolute;inset:0}@media (width<=800px){.contact__grid{grid-template-columns:1fr}.contact__map{min-height:16rem}}.site-footer{padding:3rem var(--space-gutter) 3.5rem;border-top:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.site-footer__inner{width:min(100%, var(--max-width));gap:1.25rem;margin-inline:auto;display:grid}.site-footer p,.site-footer address{color:var(--color-muted);margin:0;font-size:.9375rem;font-style:normal}.site-footer__brand{font-weight:600;color:var(--color-heading)!important}.site-footer__nav{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.site-footer__nav a{color:var(--color-text);font-size:.9375rem;text-decoration:none}.site-footer__nav a:hover{color:var(--color-accent)}.site-footer__agency{color:var(--color-muted);text-decoration:none}.site-footer__agency strong{font-family:var(--font-agency);color:var(--color-heading);font-weight:700}.legal-page{width:min(100% - 2rem,48rem);margin-inline:auto;padding-block:3.5rem 5rem}.legal-prose h1{color:var(--color-heading);font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 1.25rem;font-size:clamp(1.85rem,4vw,2.25rem);line-height:1.2}.legal-prose h2{color:var(--color-heading);font-family:var(--font-display);margin:2rem 0 .75rem;font-size:1.25rem;line-height:1.25}.legal-prose p,.legal-prose li{color:var(--color-text);margin:0 0 1rem;line-height:1.65}.legal-prose a{color:var(--color-accent);text-decoration:underline}.legal-prose .table-wrapper{margin-bottom:1rem;overflow-x:auto}.legal-prose table{border-collapse:collapse;width:100%}.legal-prose th,.legal-prose td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.75rem}.legal-prose .btn{margin-top:.5rem}
