:root{--black: #05070a;--navy: #071018;--navy-2: #0b1724;--char: #121820;--char-2: #1c242e;--steel: #7eb6cb;--steel-2: #9dcedd;--ice: #d7eef5;--mist: #eef3f6;--paper: #f4f6f8;--white: #fbfcfd;--ember: #c94a2e;--line: rgba(126, 182, 203, .22);--line-strong: rgba(126, 182, 203, .45);--text: #e8eef2;--text-dim: #9aa8b3;--text-dark: #1a222b;--text-dark-dim: #5c6770;--shadow: 0 30px 80px rgba(0,0,0,.45);--display: "Syne", system-ui, sans-serif;--body: "Outfit", system-ui, sans-serif;--num: "Big Shoulders Display", sans-serif;--header-h: 84px;--radius: 2px;--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{font-family:var(--body);font-weight:400;font-size:17px;line-height:1.6;color:var(--text);background:var(--black);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;display:block;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font-family:inherit}h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:0 0 .5em}p{margin:0 0 1em}ul{margin:0;padding:0;list-style:none}.skip{position:absolute;left:-999px;top:0;background:var(--steel);color:var(--black);padding:.6rem 1rem;z-index:10000}.skip:focus{left:1rem;top:1rem}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}.wrap-wide{width:min(1360px,calc(100% - 32px));margin-inline:auto}.eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--steel-2);font-weight:500;margin-bottom:1.1rem}.eyebrow:before{content:"";width:28px;height:1px;background:var(--steel)}.site-header{position:sticky;top:0;z-index:80;height:var(--header-h);display:flex;align-items:center;background:#05070ac7;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border-bottom:1px solid rgba(126,182,203,.12)}.header-inner{width:min(1360px,calc(100% - 28px));margin-inline:auto;display:flex;align-items:center;gap:1.25rem}.logo{display:flex;align-items:center;flex:0 0 auto}.logo img{height:64px;width:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}.nav{display:flex;align-items:center;gap:.15rem;margin-left:auto}.nav a,.nav summary{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text);padding:.55rem .7rem;cursor:pointer;list-style:none;font-weight:500}.nav a:hover,.nav summary:hover{color:var(--ice)}.nav a.is-subtle{color:var(--text-dim)}.nav a.is-subtle:hover{color:var(--steel-2)}.nav details{position:relative}.nav details summary::-webkit-details-marker{display:none}.nav details summary:after{content:"";display:inline-block;width:0;height:0;margin-left:.4rem;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid var(--steel);vertical-align:middle}.dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;background:#0b121a;border:1px solid var(--line);padding:.7rem 0;box-shadow:var(--shadow);display:none}.nav details[open] .dropdown{display:grid}.dropdown a{display:block;padding:.45rem 1.1rem;letter-spacing:.08em;font-size:.72rem;color:var(--text-dim)}.dropdown a:hover{color:var(--ice);background:#7eb6cb0f}.dropdown .drop-label{padding:.35rem 1.1rem .2rem;font-size:.62rem;letter-spacing:.22em;color:var(--steel);text-transform:uppercase}.header-cta{display:flex;align-items:center;gap:.7rem;margin-left:.5rem;flex:0 0 auto}.phone{font-family:var(--display);font-weight:700;letter-spacing:.04em;font-size:.95rem;color:var(--ice);white-space:nowrap}.phone:hover{color:var(--white)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.25rem;background:var(--steel);color:var(--black);font-weight:600;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;border:0;border-radius:var(--radius);cursor:pointer;transition:transform .25s var(--ease),background .25s,color .25s;white-space:nowrap}.btn:hover{background:var(--ice);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ice);border:1px solid var(--line-strong)}.btn-ghost:hover{background:#7eb6cb1a;color:var(--white)}.btn-ember{background:transparent;color:var(--ice);border:1px solid var(--line-strong)}.menu-toggle{display:none;background:none;border:0;color:var(--ice);width:44px;height:44px;cursor:pointer;margin-left:auto}.menu-toggle span{display:block;height:1.5px;background:currentColor;margin:7px 0}.hero{position:relative;min-height:calc(100svh - var(--header-h));display:grid;align-items:end;overflow:hidden}.hero-media{position:absolute;top:0;right:0;bottom:0;left:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:saturate(.85) contrast(1.05)}.hero-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#05070a59,#05070a26 30%,#05070ad1 78%,#05070a),linear-gradient(90deg,#05070ab3,#05070a40 55%,#05070a73)}.hero-content{position:relative;z-index:2;padding:0 0 4.5rem;width:min(1180px,calc(100% - 40px));margin-inline:auto}.hero h1{font-size:clamp(2.6rem,6.4vw,5.6rem);max-width:14ch;color:var(--white);margin-bottom:1.2rem}.hero h1 em{font-style:normal;color:var(--steel-2)}.hero-lead{max-width:42rem;color:var(--text-dim);font-size:1.12rem;font-weight:300;margin-bottom:1.8rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.hero-slogan{margin-top:2.4rem;font-family:var(--display);letter-spacing:.42em;font-size:.72rem;color:#d7eef58c;text-transform:uppercase}.hero-meta{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--line);color:var(--text-dim);font-size:.85rem}.hero-meta strong{display:block;color:var(--ice);font-weight:600;letter-spacing:.08em;font-size:.72rem;text-transform:uppercase;margin-bottom:.2rem}section{padding:5.5rem 0}.section-light{background:var(--paper);color:var(--text-dark)}.section-light .eyebrow{color:#3d6f82}.section-light h2,.section-light h3{color:var(--text-dark)}.section-navy{background:var(--navy)}.section-char{background:var(--char)}.section-head{display:grid;grid-template-columns:1fr minmax(0,28rem);gap:2rem;align-items:end;margin-bottom:2.8rem}.section-head p{color:var(--text-dim);margin:0}.section-light .section-head p{color:var(--text-dark-dim)}.section-head h2{font-size:clamp(2rem,4vw,3.4rem);max-width:16ch}.service-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-strip a{background:var(--navy);padding:1.6rem 1.4rem 1.5rem;min-height:180px;display:flex;flex-direction:column;transition:background .3s var(--ease)}.service-strip a:hover{background:#102033}.service-strip.has-photos a{padding:0;min-height:0;overflow:hidden}.service-strip.has-photos img{width:100%;height:160px;object-fit:cover;filter:saturate(.88) contrast(1.04)}.service-strip.has-photos .copy{padding:1.15rem 1.25rem 1.3rem;display:flex;flex-direction:column;flex:1}.service-strip .idx{font-family:var(--num);font-size:1.4rem;color:var(--steel);margin-bottom:auto}.service-strip h3{font-size:1.15rem;margin:1.2rem 0 .35rem}.service-strip.has-photos h3{margin:.55rem 0 .35rem}.service-strip p{color:var(--text-dim);font-size:.92rem;margin:0}.svc-list.compact{grid-template-columns:repeat(3,1fr)}.svc-list.compact a{padding:1rem 1.15rem}.res-band{display:grid;grid-template-columns:1.1fr .9fr;gap:0;background:var(--paper);color:var(--text-dark)}.res-band .copy{padding:4.5rem 8% 4.5rem 0}.res-band .copy .inner{width:min(520px,100%);margin-left:auto;padding-left:8%}.res-band h2{font-size:clamp(2rem,3.5vw,3rem);color:var(--text-dark)}.res-band p{color:var(--text-dark-dim)}.res-band img{width:100%;height:100%;object-fit:cover;min-height:420px}.offices{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.office{background:var(--black);padding:2.4rem 2rem}.office .city{font-family:var(--display);font-size:2rem;margin:0 0 .4rem}.office .sub{color:var(--steel-2);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem}.office .addr,.addr{color:var(--text-dim);line-height:1.5;margin:.7rem 0 1rem;font-size:.95rem}.office strong{color:var(--ice)}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.process article{border-top:1px solid var(--line);padding-top:1.4rem}.process .n{font-family:var(--num);font-size:4.2rem;line-height:.85;color:var(--steel);display:block;margin-bottom:.8rem}.process h3{font-size:1.35rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.card{border:1px solid var(--line);padding:1.6rem 1.4rem 1.5rem;background:#0b17248c;min-height:210px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s var(--ease)}.section-light .card{background:#fff;border-color:#d7e0e6;color:var(--text-dark)}.card:hover{border-color:var(--steel);transform:translateY(-3px)}.card h3{font-size:1.2rem}.card p{color:var(--text-dim);font-size:.95rem;flex:1}.section-light .card p{color:var(--text-dark-dim)}.card .more{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel)}.ba{--pos: 52%;position:relative;overflow:hidden;background:#000;-webkit-user-select:none;user-select:none;touch-action:none;aspect-ratio:4 / 5;max-height:78vh}.ba.ba-wide{aspect-ratio:4 / 3;max-height:70vh}.ba img{width:100%;height:100%;object-fit:cover;pointer-events:none}.ba-after{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:inset(0 0 0 var(--pos))}.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:0;z-index:3}.ba-handle:before{content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:var(--ice);box-shadow:0 0 18px #9dceddb3}.ba-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;border:1px solid var(--ice);background:#05070ab8;color:var(--ice);display:grid;place-items:center;font-size:1.1rem;letter-spacing:-.15em;pointer-events:none}.ba-label{position:absolute;bottom:1rem;z-index:4;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;background:#05070ab8;color:var(--ice);padding:.35rem .6rem}.ba-label.before{left:1rem}.ba-label.after{right:1rem}.ba input[type=range]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:5}.ba-caption{display:flex;justify-content:space-between;gap:1rem;margin-top:.9rem;color:var(--text-dim);font-size:.88rem}.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}.quote{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}.form{display:grid;gap:.9rem}.form label{display:grid;gap:.35rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel-2)}.form input,.form textarea,.form select{background:#0a1118;border:1px solid var(--line);color:var(--white);padding:.9rem 1rem;font-size:1rem;border-radius:var(--radius)}.section-light .form input,.section-light .form textarea{background:#fff;color:var(--text-dark);border-color:#cfd8de}.form textarea{min-height:120px;resize:vertical}.form input:focus,.form textarea:focus{outline:2px solid var(--steel);outline-offset:1px}.check{display:flex;gap:.7rem;align-items:flex-start;font-size:.85rem;letter-spacing:0;text-transform:none;color:var(--text-dim);line-height:1.45}.check input{margin-top:.25rem;accent-color:var(--steel)}.form-note{font-size:.85rem;color:var(--text-dim)}.form-status{min-height:1.2em;font-size:.9rem;color:var(--steel-2)}.faq details{border-bottom:1px solid var(--line);padding:1.15rem 0}.faq summary{cursor:pointer;font-family:var(--display);font-size:1.15rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--steel);font-weight:500}.faq details[open] summary:after{content:"–"}.faq p{margin:.8rem 0 0;color:var(--text-dim);max-width:60ch}.site-footer{background:#030508;border-top:1px solid var(--line);padding:3.5rem 0 1.5rem;color:var(--text-dim);font-size:.92rem}.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem}.site-footer h4{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--steel-2);margin-bottom:1rem}.site-footer a:hover{color:var(--ice)}.site-footer .logo img{height:72px;margin-bottom:.8rem}.legal{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;border-top:1px solid rgba(126,182,203,.1);padding-top:1.1rem;font-size:.8rem}.page-hero{padding:4.5rem 0 3rem;border-bottom:1px solid var(--line);background:radial-gradient(900px 400px at 10% -10%,rgba(126,182,203,.12),transparent 60%),var(--navy)}.page-hero h1{font-size:clamp(2.4rem,5vw,4.4rem);max-width:16ch}.page-hero .lead{max-width:46rem;color:var(--text-dim);font-size:1.1rem}.split-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.split-3 article{padding-top:1.2rem;border-top:1px solid var(--line)}.split-3 h2{font-size:1.35rem}body.lighting{background:#04060a}.lighting-hero{min-height:calc(100svh - var(--header-h));position:relative;display:grid;align-items:center;overflow:hidden}.lighting-hero .hero-photo{position:absolute;top:0;right:0;bottom:0;left:0}.lighting-hero .hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05) brightness(.72)}.lighting-hero .hero-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#05070a47,#05070ac7 62%,#05070aeb)}.lighting-hero:before{content:none}.photo-credit{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin:0 0 1.4rem;max-width:46ch}.tone{min-height:320px;display:grid;align-items:end;background:radial-gradient(circle at 20% 20%,rgba(126,182,203,.16),transparent 40%),linear-gradient(180deg,#0b1724,#05070a);border:1px solid var(--line)}.tone-inner{padding:2rem 1.8rem}.tone-inner h2{font-size:1.6rem;max-width:14ch}.bokeh{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.bokeh i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--ice);opacity:.35;box-shadow:0 0 18px 4px #9dcedd59}.lighting-hero .wrap{position:relative;z-index:2;padding:4rem 0}.lighting-hero h1{font-size:clamp(2.6rem,6vw,5.2rem);max-width:14ch}.lighting-hero h1 span{color:var(--steel-2);display:block;font-size:.42em;letter-spacing:.18em;margin-bottom:.6rem;font-weight:600}.muted{color:var(--text-dim)}.mt-2{margin-top:2rem}.cta-row{display:flex;flex-wrap:wrap;gap:.8rem}@media(max-width:980px){.logo img{height:52px}.nav,.header-cta .phone{display:none}.menu-toggle{display:block}.header-cta{margin-left:0}body.nav-open .nav{display:flex;flex-direction:column;align-items:flex-start;position:absolute;top:var(--header-h);left:0;right:0;background:#070c12;padding:1rem 1.2rem 1.4rem;border-bottom:1px solid var(--line);z-index:70}body.nav-open .nav .dropdown{position:static;display:grid;border:0;box-shadow:none;background:transparent}.section-head,.res-band,.quote,.ba-grid,.cards,.service-strip,.process,.offices,.split-3,.foot-grid{grid-template-columns:1fr}.res-band .copy{padding:2.5rem 7% 3rem}.res-band img{min-height:280px}.hero{min-height:86svh}section{padding:3.6rem 0}.service-strip{grid-template-columns:1fr 1fr}}@media(max-width:560px){.service-strip,.cards{grid-template-columns:1fr}.hero-content{padding-bottom:3rem}.btn{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}.nav a[aria-current=page]{color:var(--steel-2)}.nav .phone-mobile,.logo-text{display:none}.photo-panel{overflow:hidden;background:#000}.photo-panel img{width:100%;height:100%;object-fit:cover;min-height:320px}.photo-caption{margin-top:.75rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}.mosaic{display:grid;grid-template-columns:1.15fr .85fr;gap:.8rem}.mosaic .tall{grid-row:span 2}.mosaic img{width:100%;height:100%;object-fit:cover;min-height:220px}.related{display:flex;flex-wrap:wrap;gap:.5rem}.related a{border:1px solid var(--line);padding:.55rem .85rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.related a:hover{color:var(--ice);border-color:var(--steel)}.quiet-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.6rem 0}.quiet-band a{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--text-dim)}.quiet-band strong{color:var(--ice);font-family:var(--display);font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.quiet-band span{letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;color:var(--steel)}.season{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.season article{border-top:1px solid var(--line);padding-top:1.2rem}.season .when{font-family:var(--num);font-size:2rem;color:var(--steel);display:block;margin-bottom:.4rem}.contact-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:start}.hours dt{color:var(--ice);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin-top:1rem}.hours dd{margin:.2rem 0 0;color:var(--text-dim)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.cta-band{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:1.6rem 0 0;margin-top:1.6rem;border-top:1px solid var(--line)}.proof-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:1.6rem;align-items:start}.gallery-stack{display:grid;gap:3.2rem}.gallery-item h2{font-size:1.35rem;margin:0 0 .9rem}.page-hero.with-media{position:relative;padding:0;min-height:52vh;display:grid;align-items:end;overflow:hidden}.page-hero.with-media .media{position:absolute;top:0;right:0;bottom:0;left:0}.page-hero.with-media .media img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05)}.page-hero.with-media .media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#05070a33,#05070ae0)}.page-hero.with-media .wrap{position:relative;z-index:2;padding:7rem 0 3.2rem}.split-copy{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}.split-copy img{width:100%;height:100%;object-fit:cover;min-height:360px}.svc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.svc-list a{background:var(--navy);padding:1.35rem 1.3rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.svc-list a:hover{background:#102033}.svc-list h3{font-size:1.05rem;margin:0}.svc-list p{margin:.35rem 0 0;color:var(--text-dim);font-size:.9rem}.ba:focus-within .ba-handle:before{box-shadow:0 0 0 2px var(--steel),0 0 18px #9dceddb3}.ba-knob{font-family:var(--body);letter-spacing:0}.site-footer .phone{display:inline-block;margin:.4rem 0}body.nav-open{overflow:hidden}.bokeh i:nth-child(1){left:8%;top:18%}.bokeh i:nth-child(2){left:18%;top:62%;width:4px;height:4px}.bokeh i:nth-child(3){left:28%;top:12%;opacity:.2}.bokeh i:nth-child(4){left:42%;top:34%}.bokeh i:nth-child(5){left:55%;top:14%;width:8px;height:8px}.bokeh i:nth-child(6){left:68%;top:48%}.bokeh i:nth-child(7){left:78%;top:22%}.bokeh i:nth-child(8){left:88%;top:58%}.bokeh i:nth-child(9){left:12%;top:80%}.bokeh i:nth-child(10){left:36%;top:72%;width:3px;height:3px}.bokeh i:nth-child(11){left:72%;top:78%}.bokeh i:nth-child(12){left:91%;top:12%}.bokeh i:nth-child(13){left:4%;top:42%}.bokeh i:nth-child(14){left:49%;top:88%}.bokeh i:nth-child(15){left:83%;top:36%}@media(max-width:980px){.proof-layout,.contact-split,.split-copy,.mosaic,.season,.svc-list,.form-row{grid-template-columns:1fr}.mosaic .tall{grid-row:auto}body.nav-open .nav .phone-mobile{display:block;padding:.8rem 0;font-family:var(--display);font-size:1.15rem;letter-spacing:.04em;color:var(--ice);text-transform:none}}@media(prefers-reduced-motion:reduce){.bokeh{display:none}}.nav a.is-active{color:var(--ice)}.ba-block{margin:0}figcaption.ba-caption,.ba-caption{display:flex;justify-content:space-between;gap:1rem;margin:.85rem 0 0;color:var(--text-dim);font-size:.88rem}.ba-caption strong{color:var(--ice);font-weight:600}.section-light .ba-caption strong{color:var(--text-dark)}.page-hero .cta-row{margin-top:1.5rem}.hero-lead a{color:var(--steel-2);text-decoration:underline;text-underline-offset:3px}.muted a{color:var(--steel-2)}.ba{outline:none}.ba:focus-within{outline:2px solid var(--steel);outline-offset:3px}.foot-grid p strong{color:var(--ice);font-weight:600}@media(max-width:980px){.svc-list.compact{grid-template-columns:1fr 1fr}.service-strip.has-photos img{height:140px}}@media(max-width:640px){.svc-list.compact{grid-template-columns:1fr}}
