*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:#171717;background:#f9f8f5;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:7px}::selection{background:#bdbdbd;color:#111}.skip{position:fixed;top:-100px;left:20px;z-index:10;padding:16px;background:white}.skip:focus{top:20px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 5%;border-bottom:1px solid #d8d7d3;background:#f9f8f5}.brand{width:190px;display:block}.brand img{width:100%;height:auto;display:block}nav{display:flex;gap:28px;font-size:13px}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.languages{display:flex;align-items:center;gap:8px;font-size:12px}.languages button{border:0;background:none;padding:10px 3px;cursor:pointer;color:#666}.languages button[aria-pressed=true]{color:#111;text-decoration:underline;text-underline-offset:5px}.hero{padding:66px 8% 35px;min-height:720px;display:flex;flex-direction:column}.eyebrow{font-size:11px;letter-spacing:.17em;line-height:1.7;margin:0 0 38px;text-transform:uppercase}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;margin:0;line-height:1.03}h1{font-size:clamp(56px,6.9vw,112px);max-width:1100px}h2{font-size:clamp(42px,4.4vw,70px);white-space:pre-line}h3{font-size:23px;font-weight:400;letter-spacing:-.035em;margin:0 0 14px}p{line-height:1.7}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin:40px 0 66px}.lead{font-size:16px;max-width:405px;margin:0;color:#555}.text-link{font-size:12px;white-space:nowrap;display:inline-block;border-bottom:1px solid #777;padding-bottom:8px}.hero-line{display:flex;align-items:center;gap:18px;margin-top:auto;font-size:10px;letter-spacing:.13em}.hero-line i{height:1px;background:#171717;flex:1;position:relative}.hero-line i:after{content:'';width:7px;height:7px;position:absolute;right:0;top:-3px;background:#171717;border-radius:50%}.section{padding:110px 8%;display:grid;grid-template-columns:25% 75%;border-top:1px solid #d8d7d3}.section .eyebrow{padding-right:20px}.body-copy{font-size:18px;max-width:650px;color:#555;margin:30px 0 0}.emphasis{color:#171717}.work{background:#efeeea}.services{margin-top:50px}.services article{display:flex;gap:26px;border-top:1px solid #c6c5c0;padding:29px 0}.services article div{flex:1}.services article p{max-width:550px;margin:0;color:#555;font-size:14px}.number{font-size:11px;color:#666;padding-top:6px}.bridge{background:#111;color:#f9f8f5;padding:85px 8% 78px}.bridge h2{max-width:900px;font-size:clamp(48px,6vw,90px)}.crossing{display:flex;align-items:center;gap:30px;margin:75px 0 48px;font-size:14px}.connection{height:2px;background:#eee;flex:1;position:relative}.connection:before,.connection:after{content:'';width:7px;height:7px;border:1px solid #eee;border-radius:50%;background:#111;position:absolute;top:-3px}.connection:before{left:0}.connection:after{right:0}.bridge-copy{max-width:600px;margin-left:auto;color:#bababa;font-size:17px}.tagline{font-family:monospace;letter-spacing:.18em;font-size:12px;margin:50px 0 0}.name-story{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;margin:50px 0}.name-story p,.approach p{font-size:14px;color:#555;margin:0}.approach{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid #d8d7d3;padding-top:35px}.approach h3{font-family:Georgia,serif;font-size:25px}.contact{padding:90px 8% 100px;background:#e8e7e2}.contact h2{font-size:clamp(48px,6.2vw,96px)}.contact-copy{max-width:420px;margin:30px 0 42px;color:#555}.email{display:inline-flex;gap:38px;font-size:clamp(22px,3.1vw,46px);letter-spacing:-.035em;border-bottom:1px solid;padding-bottom:12px;max-width:100%}.email:hover{opacity:.65}.person{font-size:12px;margin-top:24px}footer{padding:45px 8%;background:#111;color:#eee;display:flex;align-items:center;justify-content:space-between;gap:40px}footer img{width:165px;height:auto}footer p{font-size:11px;margin:3px 0;color:#aaa}footer .text-link{font-size:11px}@media(min-width:1700px){header{padding-left:max(5%,calc((100vw - 1550px)/2));padding-right:max(5%,calc((100vw - 1550px)/2))}.hero,.section,.bridge,.contact,footer{padding-left:max(8%,calc((100vw - 1450px)/2));padding-right:max(8%,calc((100vw - 1450px)/2))}}@media(max-width:800px){header{flex-wrap:wrap;padding:22px 6%;gap:22px}.brand{width:155px}.languages{margin-left:auto}nav{order:3;width:100%;justify-content:space-between;gap:12px;font-size:12px}.hero{padding:48px 6% 30px;min-height:650px}h1{font-size:clamp(51px,9vw,75px)}.hero-bottom{align-items:flex-start;flex-direction:column;gap:28px;margin-bottom:50px}.lead{font-size:15px}.section{display:block;padding:65px 6%}.section .eyebrow{margin-bottom:26px}h2{font-size:44px}.body-copy{font-size:16px}.bridge{padding:60px 6%}.bridge h2{font-size:54px}.crossing{gap:15px;margin:55px 0 30px;font-size:12px}.bridge-copy{font-size:16px}.name-story{gap:30px;margin:35px 0}.contact{padding:65px 6%}.contact h2{font-size:54px}footer{padding:35px 6%;flex-wrap:wrap;gap:25px}footer div{order:3;width:100%}footer .text-link{margin-left:auto}}@media(max-width:420px){nav{font-size:11px}.hero{min-height:630px}h1{font-size:51px}.eyebrow{font-size:10px}.name-story{grid-template-columns:1fr}.approach{grid-template-columns:1fr;gap:28px}.bridge h2,.contact h2{font-size:45px}.services article{gap:15px}h3{font-size:21px}.email{font-size:24px;gap:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Full-height brand opening: stays in the document, no timer or scroll lock. */
.opening{background:#000;color:#fff;min-height:100svh;position:relative;display:grid;place-items:center;padding:24px 24px 90px;scroll-margin-top:0}
.opening img{display:block;width:min(78vw,74svh,760px);height:auto;max-width:100%}
.opening-explore{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:12px 24px}
.opening-explore span:last-child{font-size:23px;line-height:1;transition:transform .2s}
.opening-explore:hover span:last-child{transform:translateY(4px)}
#welcome{scroll-margin-top:0}
@media(prefers-reduced-motion:reduce){.opening-explore span:last-child{transition:none}}
