@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Oswald:wght@500;600;700&display=swap');
:root{--bg:#110e10;--ink:#f3eee7;--muted:#b5aaa8;--gold:#c4a478;--red:#582330}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Barlow',Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #ffffff13}.brand{display:flex;flex-direction:column;line-height:1}.brand>span{font:700 36px 'Oswald','Arial Narrow',Arial,sans-serif;letter-spacing:0}.dot{color:var(--gold)}.brand small{font-size:10px;letter-spacing:3px;margin-top:4px}nav{display:flex;gap:36px;font-size:14px;color:var(--muted)}nav a:hover,.text-link:hover{color:var(--gold)}.small-button{font-size:14px;border:1px solid #c4a47866;padding:10px 22px}.hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;min-height:670px;padding:50px 8% 70px 6%;gap:30px;align-items:center}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--gold);font-weight:600;margin:0 0 24px}h1,h2{font-family:'Oswald','Arial Narrow',Arial,sans-serif;font-weight:600;line-height:1.15;letter-spacing:0;margin:0}h1{font-size:clamp(48px,5.4vw,82px)}em{font-weight:inherit;font-style:normal;color:var(--gold)}.intro{font-size:17px;color:var(--muted);max-width:350px;margin:26px 0 32px}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-block;padding:14px 26px;background:var(--gold);color:#161012;font-weight:600;font-size:14px}.button:hover{background:#ddbf97}.text-link{font-size:14px;border-bottom:1px solid #c4a47866;padding-bottom:5px}.hero-note{font-size:11px;letter-spacing:2.5px;color:var(--muted);margin-top:72px}.hero-image{position:relative;height:560px;background:#221a19}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.image-label{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:10px;padding:24px 20px;background:linear-gradient(transparent,#000b);font-size:11px;letter-spacing:1px}.vertical{position:absolute;right:2%;writing-mode:vertical-rl;font-size:10px;letter-spacing:3px;color:var(--muted)}.section{padding:100px 6%}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:44px}h2{font-size:clamp(36px,4vw,56px)}.section-head p{color:var(--muted);font-size:15px;margin:0}.work{border-top:1px solid #ffffff13}.portfolio{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:start}.photo-card{display:block;position:relative;overflow:hidden}.photo-card img{width:100%;height:560px;object-fit:cover;display:block;transition:transform .5s}.photo-card.night{margin-top:90px}.photo-card.night img{height:490px;object-fit:contain;background:#1c1518}.photo-card:hover img{transform:scale(1.025)}.photo-card>div{padding:24px 0;position:relative}.photo-card span{float:right;color:var(--gold);font-size:12px}h3{font-size:24px;font-weight:500;margin:0 0 8px}.photo-card p{color:var(--muted);font-size:14px;margin:0}.services{background:#1b1418}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-grid article{border-top:1px solid #c4a47866;padding-top:26px}.number{color:var(--gold);font-size:12px;letter-spacing:2px}.service-grid h3{margin-top:38px;font:600 28px 'Oswald','Arial Narrow',Arial,sans-serif}.service-grid p{color:var(--muted);font-size:15px;min-height:105px}.service-grid a{font-size:14px;color:var(--gold);border-bottom:1px solid #c4a47866}.about{padding-top:110px;padding-bottom:110px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.about-grid p{margin:0 0 24px;color:var(--muted)}.booking{text-align:center;background:radial-gradient(ellipse at 50% 100%,#542332 0%,#26151d 65%,#1e1419 100%)}.booking h2{font-size:clamp(40px,5vw,70px)}.booking>p:not(.eyebrow){color:var(--muted);margin:28px 0}.booking .booking-note{font-size:13px}.steps{display:grid;grid-template-columns:repeat(3,1fr);max-width:850px;margin:64px auto 0;border-top:1px solid #ffffff20;padding-top:28px;font-size:14px}.steps span{display:block;color:var(--gold);font-size:12px;margin-bottom:12px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap;padding:44px 6%;font-size:13px;color:var(--muted)}footer .brand{color:var(--ink)}footer small{font-size:12px}@media(max-width:760px){header{height:88px;padding:0 5%}nav{gap:16px}nav a{font-size:12px}nav a:last-child{display:none}.small-button{padding:8px 12px;font-size:12px}.brand>span{font-size:30px}.brand small{font-size:8px}.hero{grid-template-columns:1fr;padding:52px 5% 40px;gap:32px}.hero h1{font-size:56px}.hero-note{margin-top:35px}.hero-image{height:480px}.vertical{display:none}.section{padding:65px 5%}.section-head{display:block}.section-head>.text-link{display:inline-block;margin-top:24px}.section-head>p{margin-top:20px}.portfolio{grid-template-columns:1fr;gap:24px}.photo-card.night{margin-top:0}.photo-card img{height:480px}.photo-card.night img{height:auto}.service-grid{grid-template-columns:1fr;gap:40px}.service-grid h3{margin-top:18px}.service-grid p{min-height:0}.about-grid{grid-template-columns:1fr;gap:32px}.steps{gap:12px;font-size:12px}footer{align-items:start;display:grid;grid-template-columns:1fr 1fr}footer p{margin:0}.booking h2{font-size:46px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-card img{transition:none}}

.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}.filters button{font:inherit;font-size:14px;padding:9px 19px;border:1px solid #c4a47855;background:transparent;color:var(--ink);cursor:pointer}.filters button[aria-pressed=true]{background:var(--gold);color:var(--bg)}.gallery{columns:3;column-gap:22px}.gallery-photo{display:block;width:100%;padding:0;margin:0 0 22px;border:0;background:#1b1418;color:var(--muted);break-inside:avoid;cursor:pointer;text-align:left}.gallery-photo[hidden]{display:none}.gallery-photo img{display:block;width:100%;height:auto}.gallery-photo span{display:block;font-size:12px;letter-spacing:2px;padding:12px 15px}.gallery-photo:focus-visible,.filters button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}dialog{background:#110e10;color:var(--ink);border:1px solid #c4a47855;max-width:95vw;max-height:95vh;padding:20px}dialog::backdrop{background:#000d}dialog img{display:block;max-height:76vh;max-width:85vw;width:auto;height:auto;margin:auto}dialog p{font-size:14px;text-align:center} .close-viewer{display:block;margin:0 0 16px auto;padding:9px 17px;background:var(--gold);border:0;color:#110e10;cursor:pointer;font:inherit;font-size:14px}@media(max-width:900px){.gallery{columns:2}}@media(max-width:500px){.gallery{columns:1}}/* DEM editorial booking layout */
:root{--bg:#0f0d0e;--red:#74283e;--muted:#c3b8b6}body{font-size:16px}header{height:96px}nav{font-size:14px;gap:26px}.brand small{font-size:12px;letter-spacing:2px}.hero{grid-template-columns:1.08fr 1fr;padding-top:44px;padding-bottom:64px}.hero h1{font-size:clamp(64px,8.3vw,120px);line-height:1.02;letter-spacing:-4px}.hero-copy{position:relative;z-index:1}.hero-image{height:610px}.hero-image img{object-position:center 40%}.hero-note,.image-label,.number{font-size:12px}.eyebrow{font-size:13px;letter-spacing:2px}.vertical{font-size:12px}.intro{max-width:440px;font-size:18px}.button{font-size:16px;border:0;cursor:pointer;font-family:inherit}.text-link{font-size:16px}.service-grid h3{margin-top:12px}.packages{gap:20px}.packages article{padding:30px 24px;border:1px solid #c4a47840;background:#110e10}.packages article.featured{border-top:4px solid var(--gold);background:#29191e}.packages .price{font-family:'Oswald','Arial Narrow',Arial,sans-serif;font-weight:600;font-size:42px;min-height:0;margin:22px 0;color:var(--ink);line-height:1.2}.price span{font-family:'Barlow',Arial,sans-serif;font-size:14px;color:var(--muted)}.packages ul{padding:0;list-style:none;color:var(--muted);margin:0 0 28px;min-height:102px}.packages li{padding:5px 0;border-bottom:1px solid #ffffff10}.packages a{font-size:16px}.fine-print{max-width:950px;color:var(--muted);font-size:14px;margin:30px 0 0}.business-intro{display:grid;grid-template-columns:1fr .8fr;gap:8%;align-items:center;margin-bottom:50px}.business-intro img{height:460px;width:100%;object-fit:cover;object-position:center 48%}.monthly{margin-top:24px}details{margin:30px 0 0;border-top:1px solid #c4a47840;border-bottom:1px solid #c4a47840;padding:20px 0}summary{cursor:pointer;font-size:16px;color:var(--gold)}.details-copy{font-size:14px;max-width:950px;color:var(--muted)}.custom-services{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:70px}.custom-services article{padding-top:24px;border-top:1px solid #c4a47866}.custom-services p:not(.eyebrow){color:var(--muted)}.custom-services h3{font:600 32px 'Oswald','Arial Narrow',Arial,sans-serif}.booking{text-align:left}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.booking-grid>div>p:not(.eyebrow){color:var(--muted);margin:24px 0}.booking-note{font-size:14px;overflow-wrap:anywhere}.email{color:var(--gold)}form{max-width:650px}label{display:block;font-size:14px;margin:16px 0 8px}input,select,textarea{width:100%;padding:13px 12px;border:1px solid #c4a47860;border-radius:0;background:#181114;color:var(--ink);font:16px 'Barlow',Arial,sans-serif;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:2px}textarea{resize:vertical}form .button{margin-top:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-note{font-size:14px;color:var(--muted)}.steps{max-width:none;font-size:16px}.steps span{font-size:13px}.gallery-photo span{font-size:13px}.gallery-photo:hover img{filter:brightness(1.08)}#form-status{font-size:14px;color:var(--gold)}button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}
@media(max-width:1000px){nav{gap:16px}.hero h1{font-size:80px}.hero-image{height:520px}.packages{gap:12px}.packages article{padding:24px 18px}.packages .price{font-size:36px}.business-intro{gap:5%}.booking-grid{gap:5%}}
@media(max-width:760px){header{height:auto;min-height:90px;gap:15px;flex-wrap:wrap;padding:18px 5%}nav{order:3;width:100%;justify-content:space-between;gap:12px}nav a{font-size:14px}nav a:last-child{display:block}.small-button{font-size:14px}.brand small{font-size:12px}.hero{grid-template-columns:1fr;padding:50px 5% 45px}.hero h1{font-size:clamp(62px,15vw,94px);letter-spacing:0}.hero-image{height:540px}.hero-image img{object-fit:contain}.hero-note{font-size:12px;letter-spacing:1.5px}.service-grid,.business-intro,.booking-grid,.custom-services{grid-template-columns:1fr}.business-intro{gap:28px}.business-intro img{height:420px;object-fit:contain;background:#1c1518}.packages article{padding:28px 24px}.packages ul{min-height:0}.packages .price{font-size:42px}.custom-services{gap:40px}.booking-grid{gap:35px}.booking h2{font-size:54px}.steps{grid-template-columns:1fr;gap:24px}.steps span{margin-bottom:4px}.section-head p{font-size:16px}.service-grid p{font-size:16px}.about-grid h2{font-size:42px}footer{grid-template-columns:1fr}footer p{font-size:14px}.form-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Display the supplied logo without its surrounding page margins. */
.brand-logo{position:relative;display:block;width:120px;height:100px;flex-shrink:0;overflow:hidden}.brand-logo img{position:absolute;width:150%;height:auto;max-width:none;left:-30%;top:-65%;filter:invert(1);mix-blend-mode:screen}header{height:128px}footer .brand-logo{width:132px;height:110px}@media(max-width:760px){header{height:auto}.brand-logo{width:108px;height:90px}}

/* Preserve full photographic compositions at every viewport width. */
.hero-image{height:auto;min-width:0}
.hero-image img,.photo-card img,.photo-card.night img,.business-intro img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}
.photo-card:hover img{transform:none}
.image-label{position:static;background:#221a19;flex-wrap:wrap}
