@import url('style.css');
@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:wght@400;500;600;700&family=Bodoni+Moda:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
/* After the Rain: a second art direction; the original remains unchanged. */
:root{--sun:#f6cd59;--navy:#102a43;--deep:#102a43;--aqua:#35d0e2;--ivory:#faf8f2;--muted:#b8cbd4;--line:rgba(190,218,232,.24)}
body{font-family:'Albert Sans',Arial,sans-serif;line-height:1.7;background:var(--navy)}
h1,h2,h3,em,figcaption strong{font-family:'Bodoni Moda','Bodoni MT',Didot,Georgia,serif;font-weight:400;font-optical-sizing:auto;letter-spacing:-.035em}
header{max-width:none;padding:0 7%;height:108px;border-bottom:1px solid #f6cd5930}
.wordmark{font-family:'Bodoni Moda',Georgia,serif;font-size:32px;font-weight:500;letter-spacing:-1.2px}.wordmark span{font-family:'Albert Sans',Arial,sans-serif;font-size:12px;letter-spacing:3px;line-height:2.1;color:var(--aqua)}
nav{font-size:14px;gap:42px}.nav-cta{border-color:#f6cd5980;border-radius:0;padding:10px 22px}.nav-cta:hover{background:var(--sun);color:var(--navy)}
.hero{display:block;max-width:none;min-height:820px;padding:75px 7% 65px;isolation:isolate;background:var(--navy)}
.hero-content{max-width:790px;position:relative;z-index:2;pointer-events:none}.hero-content a,.hero-content button{pointer-events:auto}
.hero .eyebrow{color:var(--sun);font-weight:500;font-size:12px;letter-spacing:2px;margin-bottom:30px}
h1{font-size:clamp(64px,7.8vw,120px);font-weight:400;line-height:1.08;letter-spacing:-.045em;text-shadow:0 2px 25px #102a4350}
h1 em{font-size:1em;color:var(--sun);letter-spacing:-.04em}.hero-description{max-width:360px;color:#e5edf0;font-size:18px;line-height:1.65;margin:28px 0}
.button{background:var(--sun);border-radius:2px;font-weight:600;font-size:15px;letter-spacing:.1px;padding:16px 24px}.button:hover{background:#ffe292;transform:translateY(-2px)}
.hero-bottom{margin-top:42px;gap:30px;font-size:12px;letter-spacing:1.8px}.hero-bottom>span{color:var(--aqua)}.hero-bottom button{font-size:14px;color:#e0eaee}
.hero-image{position:absolute;z-index:0;inset:0 0 0 25%;height:100%;width:75%;max-width:none;margin:0;border:0;border-radius:0;transform:none;box-shadow:none;opacity:1}
.hero-image>img{object-position:65% 50%;opacity:.75}
.hero-image:after{background:linear-gradient(90deg,#102a43 0%,#102a43e0 16%,#102a4360 55%,#102a4320 100%),linear-gradient(0deg,#102a43 0%,transparent 30%)}
.hero-image figcaption{left:auto;right:9%;bottom:60px;width:280px;transform:none;padding-top:18px;border-top:1px solid #f6cd5970}
figcaption span{font-size:12px;letter-spacing:1.8px;color:var(--sun)}figcaption strong{font-size:30px;line-height:1.25;margin:15px 0}figcaption a{font-size:14px;color:var(--ivory);border-color:var(--aqua)}
#rain{z-index:1;opacity:.8}.hero-side{display:none}
.intro-strip{background:var(--ivory);color:var(--navy);border:0;border-top:5px solid var(--sun);padding:45px 7%;gap:90px}.intro-strip p{color:#466072}.intro-strip p:first-child{font-family:'Bodoni Moda',Georgia,serif;font-size:27px;line-height:1.45;color:var(--navy)}.intro-strip strong{color:#087b8f;font-weight:400}
.section{max-width:none;padding:110px 7%}h2{font-size:clamp(44px,4.8vw,74px);line-height:1.17;letter-spacing:-.04em}h2 em{color:var(--aqua)}.eyebrow{font-family:'Albert Sans',Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:2px}
.expertise{background:var(--ivory);color:var(--navy);gap:90px;padding-top:70px}.expertise .eyebrow{color:#526778}.expertise h2 em{color:#087b8f}.expertise .service-list{--line:#102a4330}.expertise .service-body{color:#476074}.expertise .service-body a{color:#086d80}.number{color:#816000;font-size:14px}.plus{color:#087b8f}.service-list summary h3{font-size:28px;line-height:1.25;letter-spacing:-.02em}.service-list summary{padding:25px 0}.service-body{font-size:16px;line-height:1.7;padding-left:38px}
.projects{background:var(--navy);color:var(--ivory);border-radius:0;border-top:1px solid var(--line)}.projects .eyebrow{color:var(--sun)}.projects em{color:var(--aqua)}.project-heading{align-items:center;gap:80px;margin-bottom:65px}.project-heading>p{color:var(--muted);max-width:390px}
.project-grid{grid-template-columns:1fr 1fr;gap:60px 35px}.project-card.large{grid-column:1/-1;grid-row:auto}.large .photo{height:460px;min-height:0}.large .photo img{object-position:center 57%}.photo{height:300px;border-radius:0}.expand{background:var(--sun);color:var(--navy);border-radius:0;font-size:13px;padding:10px 18px;bottom:24px;right:24px}.project-label{padding-top:20px;align-items:baseline;flex-direction:row}.project-label h3{font-size:29px;letter-spacing:-.02em}.project-label>span{font-size:12px;letter-spacing:1.5px;color:var(--muted)}.archive-note{color:var(--muted);font-size:13px;margin-top:45px}
.process{background:var(--ivory);color:var(--navy)}.process .eyebrow{color:#526778}.process h2 em{color:#087b8f}.process-grid{--line:#102a4330;gap:55px}.process-grid article{border-top:3px solid var(--sun)}.process-grid span{color:#816000;font-size:14px}.process-grid h3{font-size:32px;letter-spacing:-.02em}.process-grid p{color:#476074}
.contact{border-radius:0;gap:100px;background:radial-gradient(ellipse at 5% 95%,#35d0e211,transparent 60%),var(--navy)}.contact .eyebrow{color:var(--sun)}.contact h2{font-size:clamp(76px,8vw,124px)}.contact h2 em{color:var(--sun)}.inquiry-note{transform:none;border:0;border-top:2px solid var(--sun);border-bottom:1px solid var(--line);background:transparent;padding:35px 0}.note-label{font-size:12px;letter-spacing:2px}.inquiry-note h3{font-size:38px;line-height:1.2;letter-spacing:-.025em}.privacy-note{font-size:13px}.contact-meta{font-size:14px}
.variation-switch{background:#0b2135;border-block:1px solid var(--line);padding:22px 7%;display:flex;align-items:center;justify-content:space-between;gap:20px}.variation-switch span{font-size:12px;color:var(--muted);letter-spacing:1.5px}.variation-switch a{font-size:14px;color:var(--sun)}footer{padding:40px 7%;border-top:0}footer strong{font-family:'Bodoni Moda',Georgia,serif;font-size:23px}footer p,footer>a,footer small{font-size:13px}dialog{border-radius:0}dialog h2{font-size:34px}.close-dialog{border-radius:0}
@media(min-width:1700px){.hero{padding-left:calc((100vw - 1462px)/2)}.section,.intro-strip,header,.variation-switch,footer{padding-left:calc((100vw - 1462px)/2);padding-right:calc((100vw - 1462px)/2)}}
@media(max-width:1050px){.hero{min-height:780px;padding-top:65px}h1{font-size:88px;max-width:650px}.hero-image figcaption{width:220px;right:8%;bottom:55px}figcaption strong{font-size:26px}.expertise{gap:45px}.section{padding:80px 6%}.contact{gap:55px}.project-label{flex-direction:column;align-items:flex-start;gap:10px}.intro-strip{gap:40px}}
@media(max-width:700px){header{height:95px;padding:0 6%}.wordmark{font-size:28px}.wordmark span{font-size:10px;letter-spacing:2.5px}.nav-cta{font-size:14px;padding:9px 14px}.nav-cta span{margin-left:10px}.hero{min-height:980px;padding:45px 6% 315px}.hero-content{max-width:none}h1{font-size:clamp(57px,12vw,82px);line-height:1.13;letter-spacing:-.04em}.hero .eyebrow{font-size:12px;line-height:1.8;max-width:280px;margin-bottom:23px}.hero-description{font-size:17px;max-width:300px}.hero-image{inset:0;width:100%;height:100%;border-radius:0;max-width:none}.hero-image>img{object-position:62% bottom;opacity:.72}.hero-image:after{background:linear-gradient(180deg,#102a43 0%,#102a43e8 28%,#102a4380 63%,#102a43bb 100%)}.hero-image figcaption{bottom:45px;left:6%;right:6%;width:auto;max-width:350px}figcaption strong{font-size:29px}.hero-bottom{flex-wrap:wrap;justify-content:flex-start;gap:15px;font-size:12px;line-height:1.7;margin-top:25px}.hero-bottom button{font-size:14px}.intro-strip{padding:35px 6%;gap:22px}.intro-strip p:first-child{font-size:26px}.section{padding:65px 6%}h2{font-size:47px;line-height:1.2}.expertise{gap:35px;padding-top:35px}.service-list summary h3{font-size:26px}.project-grid{grid-template-columns:1fr;gap:38px}.project-card.large{grid-column:auto}.large .photo,.photo{height:310px;min-height:0}.project-heading{margin-bottom:35px}.project-label h3{font-size:29px}.project-label>span{font-size:12px}.expand{font-size:13px;bottom:16px;right:16px}.eyebrow{font-size:12px}.process-grid{gap:30px}.process-grid h3{font-size:30px}.contact{gap:35px}.contact h2{font-size:88px}.inquiry-note{padding:25px 0}.inquiry-note h3{font-size:35px}.variation-switch{align-items:flex-start;flex-direction:column;gap:8px}.contact-links .button{max-width:100%;font-size:14px;padding:16px 18px}footer{gap:22px}footer img{width:90px}footer strong{font-size:22px}dialog h2{font-size:30px}}
