:root{--bg:#101111;--panel:#191a1a;--line:#343535;--muted:#aaaead;--red:#ef3938;--white:#f4f3ee}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--white);font:15px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{color:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:30px;background:#101111;position:relative;z-index:10;border-bottom:1px solid #ffffff14}.logo{font-size:23px;letter-spacing:-1px;font-weight:800;line-height:1}.logo span{color:var(--red);margin-left:4px}.logo small{display:block;font-size:8px;font-weight:500;letter-spacing:2.2px;margin-top:9px}nav{display:flex;gap:30px;font-size:13px;color:#c2c3c0}nav a:hover,.text-link:hover,footer a:hover{color:var(--red)}.nav-cta{border:1px solid #555;padding:11px 19px;font-size:12px}.nav-cta span{margin-left:26px}.menu{display:none}.hero{min-height:690px;height:calc(100svh - 94px);max-height:900px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;height:100%;object-position:74% 69%;width:70%;left:30%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#101111 0%,#101111f0 25%,#10111145 63%,#10111100),linear-gradient(0deg,#101111c0,transparent 25%)}.hero-content{position:relative;z-index:1;padding:0 7%;width:100%;margin-top:-25px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;margin:0 0 26px;color:var(--muted);display:flex;align-items:center;gap:10px}.eyebrow i{width:7px;height:7px;background:var(--red);border-radius:50%;display:inline-block}h1,h2,h3,p{margin-top:0}h1{font:800 clamp(76px,8.6vw,144px)/.9 'Barlow Condensed','Arial Narrow',Impact,sans-serif;letter-spacing:-1.6px;margin-bottom:29px}em{font-style:normal;color:var(--red)}.hero-copy{color:#c4c5c2;font-size:16px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;padding:15px 23px;gap:35px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.red{background:var(--red);color:white}.red:hover{background:#d82626}.outline{border:1px solid #555;background:transparent}.text-link{font-size:12px;border-bottom:1px solid #656666;padding-bottom:8px}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1.6px;color:#c4c4c1}.ticker{border-block:1px solid var(--line);display:flex;justify-content:space-around;align-items:center;padding:22px 3%;gap:30px;font-size:12px;letter-spacing:3px;overflow:hidden;white-space:nowrap}.ticker b{color:var(--red);font-size:23px}.section{padding:105px 7%;scroll-margin-top:0}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:45px}.section-top p:last-child{color:var(--muted);font-size:13px}h2{font-size:clamp(34px,4vw,58px);line-height:1.12;letter-spacing:-2px;margin-bottom:0}.section .eyebrow{margin-bottom:22px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:30px}.work{border:0;padding:0;position:relative;background:#222;text-align:left;overflow:hidden;height:500px}.work img{height:100%;transition:transform .6s;object-position:center 65%}.work:hover img{transform:scale(1.035)}.work:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000b)}.work span{position:absolute;bottom:25px;left:27px;right:27px;z-index:1;font-size:18px}.work small{display:block;font-size:9px;letter-spacing:2px;margin-bottom:8px}.work b{float:right;font-size:24px}.wide{grid-column:span 2;height:350px}.wide img{object-position:center 60%}.services{background:var(--panel)}.service-row{border-top:1px solid #3a3b3b;padding:32px 0;display:grid;grid-template-columns:45px 1fr 1.15fr 30px;gap:25px;align-items:start}.service-row>span{font-size:11px;color:var(--red)}h3{font-size:23px;line-height:1.3;font-weight:500;margin-bottom:20px}.service-row h3{margin:0}.service-row p{font-size:13px;color:var(--muted);margin:0}.service-row>a{font-size:26px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.price-grid article{border:1px solid var(--line);padding:32px;display:flex;flex-direction:column}.price-grid .featured{background:#202121;border-top:3px solid var(--red);padding-top:30px}.amount{font-size:54px;letter-spacing:-2px;margin:7px 0 23px}.amount small{font-size:16px;letter-spacing:0;color:var(--muted)}ul{padding:0;margin:0 0 32px;list-style:none;color:#b6b9b6;font-size:13px}li{padding:10px 0;border-top:1px solid #ffffff12}li:before{content:'↗';margin-right:12px;color:var(--red)}.price-grid .button{margin-top:auto}details{margin-top:26px;border-block:1px solid var(--line)}summary{padding:20px 0;cursor:pointer;font-size:13px;list-style:none}summary span{float:right;font-size:22px}.extra-prices p{display:grid;grid-template-columns:1fr 1.7fr auto;gap:15px;padding:14px 0;border-top:1px solid #303131;margin:0;font-size:12px}.extra-prices span{color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;background:#e9e8e2;color:#161717}.about-photo{position:relative}.about-photo img{height:580px;object-position:50% 72%}.about-photo span{position:absolute;bottom:18px;left:20px;font-size:9px;letter-spacing:2px;color:#fff}.about-copy h2{margin-bottom:30px}.about-copy p:not(.eyebrow){font-size:14px;color:#595b58}.about-copy .eyebrow{color:#666}.about-copy .text-link{display:inline-block;margin-top:16px}.process{border-bottom:1px solid var(--line);padding-block:65px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.process-grid span{font-size:10px;letter-spacing:2px;color:var(--red)}.process-grid h3{margin:18px 0 13px}.process-grid p{font-size:13px;color:var(--muted);max-width:280px}.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}.contact h2{font:800 clamp(58px,6vw,90px)/.98 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1px;margin-bottom:25px}.contact p{color:var(--muted);font-size:13px}.email{display:inline-block;font-size:clamp(14px,1.6vw,22px);margin:18px 0 35px;border-bottom:1px solid #777;padding-bottom:8px}.social{display:flex;gap:30px;font-size:11px}.contact form{padding-top:4px}form h3{font-size:19px;margin-bottom:25px}label{display:block;font-size:10px;letter-spacing:.5px;color:#c8cbc7;margin-bottom:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #494b49;border-radius:0;padding:10px 0;background:transparent;color:var(--white);font-size:13px}select option{background:#191a1a}textarea{resize:vertical}.form-note{font-size:10px!important}.contact .button{width:100%;margin-top:10px}footer{padding:36px 5%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer div{font-size:10px;color:var(--muted);margin:0}footer div{display:flex;gap:24px}dialog{background:#101111;color:white;border:1px solid #555;padding:20px;max-width:90vw;max-height:94svh}dialog::backdrop{background:#000d}dialog img{max-height:78svh;width:auto;max-width:80vw;object-fit:contain}dialog p{margin:15px 0 0;font-size:12px}#close-lightbox{position:absolute;right:24px;top:22px;border:0;background:#111d;width:38px;height:38px;font-size:26px}.skip{position:fixed;top:-100px;background:white;color:black;z-index:100}.skip:focus{top:10px;padding:10px}
@media(min-width:1600px){.section{padding-inline:max(7%,calc((100vw - 1380px)/2))}}@media(max-width:950px){header{padding-inline:5%;height:80px}nav{gap:16px}.nav-cta{display:none}.hero{height:720px;min-height:600px}.hero-image{width:90%;left:10%}.hero-shade{background:linear-gradient(90deg,#101111f5,#10111160 80%),linear-gradient(0deg,#101111aa,transparent)}h1{font-size:100px}.section{padding:75px 6%}.price-grid article{padding:22px}.price-grid .featured{padding-top:20px}.price-grid h3{font-size:19px}.service-row{grid-template-columns:25px 1fr 1fr 20px;gap:16px}.about{gap:6%}.about-photo img{height:510px}.contact{gap:5%}.hero-bottom span:last-child{display:none}footer{flex-wrap:wrap}.work{height:420px}.wide{height:300px}}
@media(max-width:640px){header{height:78px}.logo{font-size:21px}.logo small{font-size:7px}.menu{display:block;background:none;border:1px solid #444;padding:5px 11px;font-size:21px}nav{display:none;position:absolute;top:78px;left:0;right:0;padding:22px 6%;background:#191a1a;flex-direction:column;font-size:16px;border-bottom:1px solid #444}nav.open{display:flex}.hero{height:calc(100svh - 78px);min-height:650px;max-height:850px;align-items:flex-start}.hero-content{padding:52px 6% 0;margin:0}.eyebrow{font-size:8px;letter-spacing:1.5px}h1{font-size:clamp(65px,15.7vw,100px);letter-spacing:-.8px}.hero-copy{font-size:14px;max-width:260px}.hero-actions{gap:20px;align-items:flex-start;flex-direction:column;margin-top:25px}.hero-image{left:0;width:100%;object-position:59% 64%;opacity:.85}.hero-shade{background:linear-gradient(180deg,#101111b0,transparent 90%),linear-gradient(90deg,#101111c0,#10111111),linear-gradient(0deg,#101111c0,transparent 30%)}.hero-bottom{font-size:7px;bottom:20px;left:6%;right:6%;letter-spacing:1px}.ticker{justify-content:flex-start;font-size:9px;letter-spacing:2px;padding:14px 6%;gap:25px}.ticker b{font-size:17px}.section{padding:62px 6%}.section-top{display:block;margin-bottom:30px}.section-top>p{margin-top:22px;font-size:12px!important}h2{font-size:35px;letter-spacing:-1.2px}.gallery{gap:18px;grid-template-columns:1fr}.work{height:450px}.wide{grid-column:auto;height:360px}.work span{font-size:16px;left:20px;right:20px}.section-top>.text-link{margin-top:20px;display:inline-block}.service-row{grid-template-columns:22px 1fr 22px;gap:10px;padding:26px 0}.service-row h3{font-size:20px}.service-row p{grid-column:2;font-size:12px}.service-row>a{grid-column:3;grid-row:1 / span 2}.price-grid{grid-template-columns:1fr;gap:18px}.price-grid article{padding:27px}.price-grid .featured{padding-top:25px}.price-grid h3{font-size:23px}.extra-prices p{grid-template-columns:1fr auto;gap:5px}.extra-prices span{grid-column:1;grid-row:2}.extra-prices strong{grid-column:2;grid-row:1 / span 2;align-self:center}.about{grid-template-columns:1fr;gap:35px}.about-photo img{height:390px}.process-grid{grid-template-columns:1fr;gap:20px}.process-grid h3{margin:10px 0}.contact{grid-template-columns:1fr;gap:45px}.contact h2{font-size:65px}.contact .eyebrow{font-size:7px}.email{font-size:17px;margin:5px 0 25px}.form-row{grid-template-columns:1fr;gap:0}footer{padding:30px 6%;gap:25px}footer p{width:100%;order:3}footer div{gap:18px;flex-wrap:wrap}dialog{padding:12px}dialog img{max-width:82vw}summary{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep the new subjects in frame across layouts. */
.hero-image { object-position: center 46%; }
.gallery .wide img { object-position: center 47%; }
.nav-mobile-booking { display: none; }
header [aria-current="page"] { color: var(--white); }

@media (min-width: 951px) {
  .hero-image {
    left: 39%;
    width: 61%;
    object-position: center 38%;
    mask-image: linear-gradient(to right, transparent, black 24%);
  }
}

@media (max-width: 640px) {
  .nav-mobile-booking { display: block; }
  .hero h1 { font-size: clamp(44px, 13.3vw, 78px); }

  .hero-image {
    top: auto;
    bottom: 0;
    height: 72%;
    object-position: center 53%;
    opacity: 1;
    mask-image: linear-gradient(to bottom, transparent, black 23%);
  }

  .hero-shade {
    background: linear-gradient(180deg, #101111 22%, #101111e8 35%, #10111120 65%, #10111100 78%, #101111bf 100%);
  }

  .gallery .wide {
    height: auto;
    aspect-ratio: 1.38;
  }
}

.form-note a { text-decoration: underline; text-underline-offset: 2px; }
#inquiry button:disabled { cursor: wait; opacity: .7; transform: none; }
#form-status[data-state="success"] { color: #d2efda; }
#form-status[data-state="error"] { color: #ffd0c9; }
