
:root{color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:#0a0a0a;color:#f1eee8;font:16px/1.7 system-ui,sans-serif}a{color:inherit;text-underline-offset:.35em}a:focus-visible{outline:2px solid #d5bc9c;outline-offset:6px}header,footer{padding:24px 5vw;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;border-bottom:1px solid #2d2926}nav{display:flex;gap:clamp(12px,3vw,42px);flex-wrap:wrap}nav a,.brand{text-decoration:none;font-size:.82rem}.brand{letter-spacing:.25em;font-weight:600}main{max-width:1600px;margin:auto;padding:0 5vw 70px}body:has(.cover) main{padding-inline:0}.cover{position:relative;isolation:isolate;margin:0;min-height:min(78svh,820px);display:grid;align-items:end;background:#191715}.cover figure{position:absolute;inset:0;margin:0;z-index:-2}.cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 44%}.cover:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080808dc,transparent 80%),linear-gradient(0deg,#080808bd,transparent 65%)}.cover-copy{padding:90px 7vw 65px}.cover-copy h1{font-size:clamp(4rem,11vw,11rem);line-height:.88;margin:.12em 0;letter-spacing:-.065em}.cover-copy p:not(.k){font-size:1.1rem;margin:22px 0}.cover-copy a{font-size:.87rem}.k{font-size:.73rem;letter-spacing:.23em;text-transform:uppercase;color:#e0c5a4;font-weight:600}h1,h2,h3{font:normal 2rem/1.12 Georgia,serif;margin:.45em 0}h1{font-size:clamp(2.8rem,7vw,6.6rem);letter-spacing:-.045em}h2{font-size:clamp(2.2rem,5vw,4.7rem);letter-spacing:-.045em}h3{font-size:clamp(1.5rem,3vw,2.3rem)}.honors,.studio,body:has(.cover) main>.card{margin:0 7vw;padding:65px 0;border-bottom:1px solid #39332d}.honor{display:grid;grid-template-columns:minmax(55px,15%) 1fr;gap:18px;border-top:1px solid #39332d;padding:22px 0}.honor span{color:#e0c5a4}.honor h3,.honor p{margin:0}.honor p{margin-top:8px;color:#d2ccc3}.honors>a{display:inline-block;margin-top:12px}.studio p,.intro p{max-width:650px}.intro{padding:50px 0 20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px;margin:24px 0}.card{padding:24px 0;border-top:1px solid #39332d}.btn{display:inline-block;padding:9px 0;border-bottom:1px solid #d9bd9a;margin:8px 22px 0 0;text-decoration:none}.btn:hover,nav a:hover{color:#e0c5a4}footer{border-top:1px solid #39332d;border-bottom:0;color:#d2ccc3;font-size:.85rem}@media(max-width:650px){.cover{min-height:68svh}.cover-copy{padding-bottom:40px}.cover:after{background:linear-gradient(0deg,#080808eb,transparent 90%)}.honors,.studio,body:has(.cover) main>.card{padding-block:42px}.grid{gap:0}}
.cover{min-height:clamp(360px,63vh,680px)}.cover-copy{padding-top:54px;padding-bottom:40px}.cover-down{display:inline-block;margin-left:24px}#distinctions{scroll-margin-top:20px}@media(max-width:650px){.cover-down{display:block;width:fit-content;margin:14px 0 0}}
.brand{display:inline-flex;align-items:center}.brand img{display:block;width:auto;height:clamp(46px,6vw,70px);max-width:180px;object-fit:contain}
.cover{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;background:#0a0a0a}
.cover:after{display:none}
.cover figure{position:static;z-index:auto;grid-column:2;grid-row:1;min-width:0}
.cover img{width:100%;height:clamp(360px,72vh,850px);object-fit:contain;object-position:center}
.cover-copy{grid-column:1;grid-row:1}
.cover-copy h1{font-size:clamp(3rem,7vw,8rem)}
@media(max-width:650px){.cover{grid-template-columns:1fr}.cover figure{grid-column:1;grid-row:2}.cover-copy{grid-row:1;padding-bottom:24px}.cover img{height:auto;max-height:70vh}}
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0 38px}.photo-grid img{display:block;width:100%;height:clamp(270px,52vw,620px);object-fit:contain;background:#141311}.photo-grid figure{margin:0}.photo-index a{text-decoration:none}.photo-index img{height:clamp(240px,38vw,520px);object-fit:cover}.photo-index h2{font-size:clamp(1.5rem,3vw,2.6rem)}.photo-index h2 span{font:1rem system-ui;color:#e0c5a4}@media(max-width:650px){.photo-grid{grid-template-columns:1fr}.photo-grid img{height:auto;max-height:75vh}}
.full-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr))}.full-gallery img{height:clamp(280px,34vw,560px)}@media(max-width:650px){.full-gallery img{height:auto}}
.booking{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin:18px 0}.booking a:first-child{background:#e7d7c0;color:#18130e;padding:11px 17px;text-decoration:none}.booking a:last-child{font-size:.9rem}.contact-sheet{margin:0 7vw 35px}.sheet-head{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:25px 0}.sheet-head h1{font-size:clamp(3.5rem,9vw,8.8rem);margin:.1em 0}.sheet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sheet-grid a{text-decoration:none}.sheet-grid img{width:100%;height:clamp(160px,30vw,460px);object-fit:cover;display:block}.sheet-grid span{display:block;padding:10px 0;border-bottom:1px solid #54493e}@media(max-width:720px){.sheet-grid{grid-template-columns:1fr 1fr}}
.rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,365px),1fr));gap:24px 48px}.rate h2{font-size:clamp(1.65rem,3.1vw,2.65rem)}.rate dl{margin:20px 0}.rate dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #39332d}.rate dd{margin:0;text-align:right;white-space:nowrap;color:#e0c5a4}.rate-note{max-width:75ch;margin:30px 0}.rates-nav{gap:10px 20px;padding:14px 0;border-bottom:1px solid #39332d}.rates-nav a{text-decoration:underline}
.price-link{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 0;border-top:1px solid #39332d;text-decoration:none}.price-link>span:last-child{text-align:right}.price-link strong,.price-link small{display:block}.price-link strong{color:#f1e4d2;font-weight:500}.price-link small{color:#d2ccc3;font-size:.78rem}.price-link:hover{color:#e0c5a4}.portfolio-rates{max-width:850px;margin:20px 0 45px}.portfolio-rates .rate dl,#photobooth dl,#beaute dl{max-width:550px}.rate[id]{scroll-margin-top:24px}
.mobile-menu{display:none}
@media(max-width:700px){
header{position:relative;justify-content:space-between;flex-wrap:nowrap;gap:12px;padding:14px 5vw}
header>nav{display:none}
.mobile-menu{display:block}
.mobile-menu summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;min-height:44px;padding:0 12px;border:1px solid #54493e;font-size:.875rem}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu summary span{font-size:1rem}
.mobile-menu summary:focus-visible{outline:2px solid #d5bc9c;outline-offset:3px}
.mobile-menu nav{position:absolute;z-index:5;top:100%;left:0;right:0;display:grid;gap:0;padding:8px 5vw 12px;background:#141311;border-bottom:1px solid #54493e}
.mobile-menu nav a{display:flex;align-items:center;min-height:44px;padding:0 10px;font-size:.95rem}
.mobile-menu nav a+a{border-top:1px solid #39332d}
}

/* Keep the skip link available to keyboard and screen-reader users. */
.skip-link{position:absolute;top:12px;left:12px;z-index:100;padding:10px 16px;background:#f1eee8;color:#0a0a0a;transform:translateY(calc(-100% - 16px))}
.skip-link:focus{transform:none}
:where(button,summary,input,select,textarea,[tabindex="0"]):focus-visible{outline:2px solid #e0c5a4;outline-offset:4px}
