:root{--ink:#202833;--navy:#102a43;--navy-soft:#1d405e;--anthracite:#242b31;--paper:#edf1f3;--cream:#faf9f6;--accent:#b09770;--line:rgba(32,40,51,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-weight:300}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,select,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.site-header{position:absolute;z-index:10;top:0;left:0;right:0;height:112px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.24)}.brand{width:235px;height:68px;overflow:hidden}.brand img{height:100%;object-fit:contain;object-position:left center}.site-header nav{display:flex;gap:34px;align-items:center;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.site-header nav a{transition:opacity .25s}.site-header nav a:hover{opacity:.55}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:13px 19px}.menu-toggle{display:none;background:none;border:0;color:#fff}
.hero{height:100svh;min-height:720px;position:relative;color:#fff;overflow:hidden;background:var(--navy)}.hero-image{height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,35,55,.79) 0%,rgba(16,42,67,.46) 42%,rgba(16,42,67,.06) 76%),linear-gradient(0deg,rgba(25,35,43,.32),transparent 48%)}.hero-content{position:absolute;left:9vw;top:50%;transform:translateY(-43%);max-width:760px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.28em;font-size:11px;font-weight:500}.eyebrow{color:rgba(255,255,255,.8);margin-bottom:28px}.eyebrow:before,.kicker:before{content:"";display:inline-block;width:34px;height:1px;background:currentColor;vertical-align:middle;margin-right:13px}.hero h1,.section-pad h2{font-family:Italiana,Georgia,serif;font-weight:400;margin:0;line-height:.9}.hero h1{font-size:clamp(74px,9.5vw,154px);letter-spacing:-.035em}.hero h1 em,.section-pad h2 em,blockquote em{font-weight:400;color:var(--accent)}.hero-copy{max-width:500px;margin:34px 0 29px;line-height:1.75;color:rgba(255,255,255,.84);font-size:15px}.text-link{display:inline-flex;gap:44px;align-items:center;padding-bottom:8px;border-bottom:1px solid currentColor;font-size:12px;text-transform:uppercase;letter-spacing:.16em}.text-link span{font-size:16px}.hero-index{position:absolute;right:5.5vw;bottom:53px;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.18em}.hero-index span{width:70px;height:1px;background:rgba(255,255,255,.4)}.scroll-cue{position:absolute;left:5.5vw;bottom:43px;font-size:9px;text-transform:uppercase;letter-spacing:.22em;display:flex;align-items:center;gap:12px;writing-mode:vertical-rl}.scroll-cue span{width:1px;height:42px;background:#fff}
.hero-logo{width:clamp(320px,32vw,500px);height:auto;object-fit:contain;object-position:left center;margin:0 0 31px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.16))}
.section-pad{padding:130px 8vw}.section-number{font-size:10px;letter-spacing:.2em;text-transform:uppercase;border-top:1px solid var(--line);padding-top:14px;width:140px}.intro{display:grid;grid-template-columns:1fr 4fr;gap:5vw;background:var(--cream)}.intro-body{max-width:1050px}.kicker{color:#667585;margin:0 0 28px}.section-pad h2{font-size:clamp(54px,6.8vw,106px);letter-spacing:-.03em}.intro-text{display:grid;grid-template-columns:1fr 1fr;gap:4vw;margin:60px 0 0 25%;line-height:1.8;color:#5f6973;font-size:15px}.portfolio{background:#e8eef2;color:var(--navy)}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:84px}.section-head>p{max-width:340px;color:#647483;line-height:1.7}.portfolio .kicker{color:#5b7185}.work-grid{display:grid;grid-template-columns:1.05fr 1.45fr;gap:110px 5vw;align-items:start}.work-card{display:block}.work-card .image-wrap{overflow:hidden;background:#d5dde2}.work-card img{height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.75,.3,1)}.work-card:hover img{transform:scale(1.035)}.portrait-card{width:78%;margin-left:auto}.portrait-card .image-wrap{aspect-ratio:3/4}.wide-card{margin-top:150px}.wide-card .image-wrap{aspect-ratio:4/3}.coast-card{grid-column:1/3;width:76%;margin:0 auto}.coast-card .image-wrap{aspect-ratio:2/1}.work-meta{display:flex;justify-content:space-between;margin-top:16px;color:#617486;font-size:9px;text-transform:uppercase;letter-spacing:.19em}.work-card h3{font-family:Italiana,serif;font-weight:400;font-size:31px;margin:8px 0}
.work-description{max-width:760px;color:#566a7b;font-size:14px;line-height:1.8;margin:18px 0 0}
.about{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;background:#fff}.about-visual{position:relative;margin-left:4vw}.about-visual>img{height:700px;object-fit:cover;filter:saturate(.82) contrast(1.02)}.studio-dog{position:absolute;right:-52px;bottom:-68px;width:230px;margin:0;background:#fff;padding:10px;box-shadow:0 24px 55px rgba(16,42,67,.18);z-index:2}.studio-dog img{height:150px;object-fit:cover;object-position:52% 48%}.studio-dog figcaption{padding:11px 5px 4px;font:400 15px/1.25 Italiana,serif;color:var(--navy)}.studio-dog figcaption span{display:block;font:500 8px/1.2 "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.2em;color:#788796;margin-bottom:5px}.outline-type{position:absolute;right:-80px;top:42px;font:400 145px/1 Italiana,serif;color:transparent;-webkit-text-stroke:1px rgba(16,42,67,.2)}.about-copy h2{font-size:clamp(50px,5.5vw,84px)}.about-copy .lead{font:400 23px/1.55 Italiana,serif;margin:42px 0 22px;max-width:590px}.about-copy>p:not(.lead):not(.kicker){color:#5e6973;line-height:1.85;max-width:540px}.text-link.dark{margin-top:30px}
.services{background:var(--navy);color:#f4f6f7;display:grid;grid-template-columns:1fr 3fr;gap:70px 5vw}.section-number.light{border-color:rgba(255,255,255,.28)}.services-title{grid-column:2}.services-title .kicker{color:#aebdca}.services-list{grid-column:2}.service{border-top:1px solid rgba(255,255,255,.22);display:grid;grid-template-columns:60px 1.4fr 1fr 30px;align-items:center;padding:32px 0}.service span{font-size:10px;color:#aebdca}.service h3{font:400 clamp(26px,3vw,42px)/1 Italiana,serif;margin:0}.service p{line-height:1.6;font-size:13px;max-width:300px;color:#c3cdd5}.service b{font-size:20px;font-weight:300;transition:transform .25s;color:var(--accent)}.service:hover b{transform:translate(4px,-4px)}
.service-categories{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}.service-group{background:var(--navy);padding:48px 44px 42px;transition:background .35s ease}.service-group:hover{background:var(--navy-soft)}.service-group-head{display:flex;gap:25px;align-items:flex-start;margin-bottom:28px}.service-group-head>span{font-size:10px;color:var(--accent);padding-top:8px}.service-group-head p{margin:0 0 7px;color:#9fb0bf;font-size:9px;text-transform:uppercase;letter-spacing:.22em}.service-group-head h3{font:400 clamp(38px,4vw,62px)/1 Italiana,serif;margin:0}.service-intro{color:#c8d1d8;line-height:1.75;max-width:440px;min-height:78px;font-size:14px;margin:0 0 28px}.service-group ul{list-style:none;margin:0;padding:0}.service-group li{position:relative;border-top:1px solid rgba(255,255,255,.16);padding:14px 24px 14px 0;font-size:13px;letter-spacing:.02em}.service-group li:after{content:"↗";position:absolute;right:2px;color:var(--accent)}
.quote{height:720px;position:relative;display:grid;place-items:center;color:#fff;overflow:hidden}.quote img{position:absolute;inset:0;height:100%;object-fit:cover;filter:brightness(.7) saturate(.78)}.quote:after{content:"";position:absolute;inset:0;background:rgba(16,42,67,.4)}.quote blockquote{position:relative;z-index:1;text-align:center;font:400 clamp(42px,6.2vw,88px)/1.1 Italiana,serif;margin:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--paper)}.contact-copy h2{font-size:clamp(54px,6vw,90px)}.contact-copy>p:not(.kicker){max-width:470px;color:#5e6973;line-height:1.8;margin:35px 0}.contact-copy>a{font:400 24px Italiana,serif;border-bottom:1px solid var(--ink);padding-bottom:6px}.contact-form{display:flex;flex-direction:column;gap:24px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:9px;text-transform:uppercase;letter-spacing:.18em}.contact-form input,.contact-form select,.contact-form textarea{border:0;border-bottom:1px solid #9eabb4;background:transparent;border-radius:0;padding:10px 0 15px;color:var(--ink);outline:0;resize:none;font-size:15px;text-transform:none;letter-spacing:0}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--navy)}.contact-form button{align-self:flex-start;border:0;background:var(--navy);color:#fff;padding:19px 28px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;cursor:pointer;display:flex;gap:55px}.contact-form button span{font-size:15px}
.quote blockquote{max-width:1280px;padding:0 5vw;font-size:clamp(34px,4.7vw,70px)}.quote cite{display:block;margin-top:36px;font:500 10px/1.4 "DM Sans",Arial,sans-serif;text-transform:uppercase;letter-spacing:.25em;color:#d2dae0}
.form-privacy{font-size:11px;line-height:1.6;color:#667585;margin:0}.form-privacy a{text-decoration:underline;text-underline-offset:3px}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-status{padding:14px 16px;font-size:13px;line-height:1.55}.form-status.success{background:#deeee5;color:#245f40}.form-status.error{background:#f7e4e2;color:#842f28}
footer{background:var(--anthracite);color:#b8c0c6;padding:80px 8vw 35px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;font-size:12px}footer>div:not(.legal){display:flex;flex-direction:column;gap:13px}.footer-brand{display:block;width:min(420px,100%)}.footer-brand img{width:100%;height:auto;object-fit:contain;object-position:left center}.legal{grid-column:1/4;border-top:1px solid #485159;padding-top:22px;margin-top:55px;display:flex;gap:25px}.legal span{margin-right:auto}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.site-header{height:82px;padding:0 20px}.brand{width:175px;height:50px}.menu-toggle{display:flex;width:36px;height:32px;flex-direction:column;justify-content:center;gap:5px;z-index:12}.menu-toggle span:not(.sr-only){height:1px;background:#fff;width:100%;transition:.3s}.site-header nav{position:fixed;inset:0;background:#151512;display:flex;flex-direction:column;justify-content:center;gap:32px;font-size:15px;transform:translateX(100%);transition:transform .45s ease}.menu-open nav{transform:none}.menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.hero{min-height:650px}.hero-content{left:24px;right:24px;top:51%}.hero-copy{font-size:14px}.hero-index{display:none}.scroll-cue{left:auto;right:20px}.section-pad{padding:90px 24px}.intro,.about,.contact{grid-template-columns:1fr}.intro{gap:45px}.intro-text{grid-template-columns:1fr;margin:40px 0 0;gap:10px}.section-head{display:block}.section-head>p{margin-top:35px}.work-grid{grid-template-columns:1fr;gap:70px}.portrait-card{width:86%;margin-left:0}.wide-card{margin-top:0;width:90%;margin-left:auto}.coast-card{grid-column:auto;width:100%}.about{gap:60px}.about-visual{margin:0 35px 0 0}.about-visual img{height:550px}.outline-type{font-size:90px;right:-30px}.services{grid-template-columns:1fr}.services-title,.services-list{grid-column:1}.service{grid-template-columns:40px 1fr 25px}.service p{grid-column:2;margin-bottom:0}.service b{grid-column:3;grid-row:1}.quote{height:580px}.contact{gap:70px}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/3}.legal{grid-column:1/3;flex-wrap:wrap}.legal span{width:100%}}
@media(max-width:850px){.site-header nav{background:var(--navy)}.hero-image{object-position:58% center}.about{gap:105px}.about-visual>img{height:550px}.studio-dog{width:185px;right:-28px;bottom:-70px}.studio-dog img{height:118px}.outline-type{font-size:82px;right:-28px;top:28px}}
@media(max-width:850px){.service-categories{grid-column:1;grid-template-columns:1fr}.service-group{padding:34px 27px}.service-intro{min-height:0}.hero-image{object-position:68% center}}
@media(max-width:850px){.hero-logo{width:min(290px,82vw);margin-bottom:24px}.hero-content{transform:translateY(-39%)}}
@media(max-width:850px){.quote br{display:none}.quote blockquote{padding:0 24px}.quote cite{margin-top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.work-card img{transition:none}}
