*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#101414;color:#f3f2ee;font:16px/1.65 Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #dec298;outline-offset:5px}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#101414;gap:24px}header nav{display:flex;gap:34px;font-size:14px}header nav a:hover,.text-link:hover{color:#dec298}.brand{display:flex;flex-direction:column;line-height:1.3;white-space:nowrap}.brand span{font-size:18px;letter-spacing:3px}.brand small{font-size:10px;letter-spacing:6px;margin-top:7px}.languages{display:flex;align-items:center;gap:10px;font-size:13px;color:#8f9998}.languages button{background:none;border:0;padding:8px 2px;color:inherit}.languages button.active{color:#fff}.hero{height:calc(100svh - 100px);min-height:590px;max-height:950px;position:relative;margin:0 20px;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:50% 53%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.05)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 60%)}.hero-copy{position:absolute;left:6%;top:50%;transform:translateY(-43%);max-width:750px}.eyebrow{font-size:12px;letter-spacing:3px;color:#dec298;font-weight:500;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-1.8px}h1{font-size:clamp(48px,6.8vw,100px);margin-bottom:24px}h2{font-size:clamp(40px,4.6vw,66px);margin-bottom:26px}h3{font-weight:400;font-size:24px;margin-bottom:3px}.hero-copy>p:not(.eyebrow){color:#eee;margin-bottom:34px}.button{display:inline-block;padding:14px 26px;border:1px solid #dbd9d2;font-size:14px;transition:background .2s}.button:hover{background:#f2eee8;color:#101414}.hero-bottom{position:absolute;bottom:27px;left:6%;right:4%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.5px}.gallery-section,.services,.about{padding:115px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading>p{max-width:350px;color:#aab1ad;margin-bottom:30px}.filters{display:flex;gap:26px;flex-wrap:wrap;margin:34px 0}.filters button{border:0;border-bottom:1px solid transparent;padding:8px 0;background:none;color:#aab1ad;font-size:14px}.filters button.active{color:#dec298;border-color:#dec298}.photo-grid{columns:3;column-gap:24px}.photo-card{display:block;break-inside:avoid;width:100%;padding:0;border:0;color:#f3f2ee;background:transparent;text-align:left;margin:0 0 30px}.photo-frame{overflow:hidden;background:#202625}.photo-card img{width:100%;display:block;transition:transform .5s}.photo-card:hover img{transform:scale(1.035)}.photo-caption{display:flex;justify-content:space-between;gap:12px;padding:12px 0;font-size:14px}.photo-caption small{color:#99a39d;font-size:12px}.gallery-note{color:#8d9892;font-size:14px;margin-top:10px}.services{background:#e8e5dd;color:#19211f;display:grid;grid-template-columns:1fr 1.1fr;gap:10%;padding-top:90px;padding-bottom:90px}.services .eyebrow{color:#746246}.service-list article{display:flex;gap:24px;padding:22px 0;border-top:1px solid #c4c7bc}.service-list article>span{color:#7b8178;font-size:12px;margin-top:7px}.service-list p{color:#596257;margin:0;font-size:15px}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:11%}.about-image{position:relative}.about-image img{display:block;width:100%;max-height:710px;object-fit:cover}.about-image span{display:block;color:#9ba49d;margin-top:12px;font-size:12px}.about-copy>p:not(.eyebrow){color:#aeb7b0}.about-copy .large{font-family:Georgia,serif;font-size:27px;color:#eee!important;line-height:1.35}.text-link{display:inline-block;border-bottom:1px solid #dec298;padding:7px 0;margin-top:18px}.contact{text-align:center;border-top:1px solid #303834;padding:95px 7% 110px}.contact h2{font-size:clamp(48px,6.3vw,88px)}.contact>p:not(.eyebrow){max-width:560px;margin:0 auto 30px;color:#aeb7b0}.contact-pending{font-size:14px;color:#dec298;display:inline-block;border:1px solid #424b43;padding:15px 22px}footer{border-top:1px solid #303834;padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>a:last-child{font-size:12px;color:#aeb7b0;margin:0}dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#080b0bf5;color:white;border:0;padding:18px 3%;margin:0}dialog::backdrop{background:#000e}.lightbox-top{display:flex;justify-content:space-between;align-items:center;height:45px;color:#ccc;font-size:14px}dialog button{background:none;color:white;border:0;font-size:44px;line-height:1;padding:6px 12px}.lightbox-content{display:flex;align-items:center;justify-content:space-between;gap:14px;height:calc(100% - 110px)}.lightbox-content img{max-width:calc(100% - 100px);max-height:100%;object-fit:contain}#lightbox-caption{text-align:center;font-size:14px;margin:16px 0 0}body.modal-open{overflow:hidden}@media(min-width:1600px){main,header,footer{max-width:1800px;margin-left:auto;margin-right:auto}}@media(max-width:850px){header{height:85px;padding:0 5%;gap:12px}header nav{gap:18px}.brand span{font-size:15px;letter-spacing:2px}.brand small{font-size:9px;letter-spacing:4px}.hero{margin:0 10px;min-height:600px;height:78svh}.hero-copy{left:7%;right:6%}.photo-grid{columns:2}.gallery-section,.services,.about{padding:75px 6%}.section-heading{display:block}.section-heading>p{max-width:550px}.services{gap:6%}.about{gap:7%}}@media(max-width:560px){header{flex-wrap:wrap;height:110px;padding:16px 6%;align-content:center;justify-content:space-between;row-gap:12px}header nav{order:3;width:100%;justify-content:space-between;font-size:13px}.languages{font-size:12px}.hero{min-height:560px;max-height:760px;margin:0 8px}.hero>img{object-position:60% center}.hero h1{font-size:53px}.hero .eyebrow{font-size:10px;letter-spacing:2px}.hero-bottom{font-size:10px;left:7%}.section-heading h2{font-size:43px}.photo-grid{column-gap:12px}.photo-caption{display:block;font-size:12px;line-height:1.5}.photo-caption small{display:block;font-size:12px}.photo-card{margin-bottom:19px}.filters{gap:20px}.services,.about{grid-template-columns:1fr;gap:40px}.about-image{max-width:85%}.about-image img{max-height:470px}.contact{padding:70px 6%}.contact h2{font-size:51px}footer{flex-wrap:wrap;padding:28px 6%}footer .brand{width:100%}.lightbox-content{gap:0}.lightbox-content img{max-width:calc(100% - 60px)}dialog button{font-size:35px;padding:5px}h1,h2{letter-spacing:-1px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.contact-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:36px}.contact-actions .button{min-width:235px;display:flex;flex-direction:column;gap:8px;text-align:center}.contact-actions small{font-size:14px;overflow-wrap:anywhere}@media(max-width:560px){.contact-actions{flex-direction:column}.contact-actions .button{width:100%;min-width:0}}

.locations{max-width:720px;margin:35px auto;line-height:1.7}.locations .eyebrow{margin-bottom:12px}.locations p{margin-bottom:12px}.empty-gallery{color:#adb9b0;column-span:all;padding:30px 0}.filters{gap:22px}.hero-bottom>span:last-child{display:none}

/* Keep the opening portrait unobstructed by the introduction. */
.hero-portrait{display:grid;grid-template-columns:46% 54%;align-items:center;background:#151c19;height:auto;min-height:620px;max-height:none}
.hero-portrait>img{grid-column:2;grid-row:1;width:100%;height:100%;min-height:620px;object-fit:cover;object-position:46% center}
.hero-portrait .shade{display:none}
.hero-portrait .hero-copy{grid-column:1;grid-row:1;position:relative;inset:auto;transform:none;padding:54px 10%;max-width:none}
.hero-portrait h1{font-size:clamp(42px,4.3vw,72px)}
.hero-portrait .hero-bottom{display:none}
@media(max-width:850px){.hero-portrait{grid-template-columns:1fr;min-height:0}.hero-portrait>img{grid-column:1;grid-row:1;min-height:0;height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain}.hero-portrait .hero-copy{grid-column:1;grid-row:2;padding:36px 7% 42px}.hero-portrait h1{font-size:clamp(38px,7.5vw,58px)}.hero-portrait .eyebrow{font-size:12px;letter-spacing:2px;margin-bottom:18px}.hero-portrait .hero-copy>p:not(.eyebrow){margin-bottom:24px}}
