 :root{--o:#e86500;--o2:#ff8a1f;--bg:#080808;--p:#121314;--t:#f4f4f1;--m:#a9adab;--l:#ffffff18;--max:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--t);font-family:Inter,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3{font-family:Oswald,sans-serif;text-transform:uppercase;line-height:1.02;margin:0}h1{font-size:clamp(3.2rem,7vw,7.5rem)}h2{font-size:clamp(2.2rem,4.7vw,5rem)}h3{font-size:1.7rem}p{color:var(--m)}#progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--o);z-index:999}.hdr{height:76px;position:fixed;inset:0 0 auto;z-index:90;display:flex;align-items:center;padding:0 4vw;gap:28px;background:linear-gradient(#050505dd,transparent);transition:.3s}.hdr.scrolled{background:#090909ee;backdrop-filter:blur(14px);border-bottom:1px solid var(--l)}.brand{margin-right:auto}.brand img{width:205px;height:58px;object-fit:cover;border-radius:8px}.hdr nav{display:flex;gap:28px}.hdr nav a{font-size:.85rem;font-weight:600}.hdr nav a:hover{color:var(--o)}.menu{display:none;background:none;border:0;color:white}.btn{border:0;border-radius:999px;background:linear-gradient(135deg,var(--o),var(--o2));color:white;padding:14px 22px;font-weight:700;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-2px);filter:brightness(1.07)}.small{padding:10px 16px}.outline{background:#101112bb;border:1px solid #ffffff44}.quiet{background:#ffffff10;border:1px solid var(--l)}.eyebrow{display:inline-block;color:var(--o);font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:15px}.section{max-width:var(--max);margin:auto;padding:105px 24px}.head{max-width:760px;margin-bottom:50px}.hero{height:100svh;min-height:720px;position:relative;display:grid;align-items:end;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:zoom 14s ease-out forwards;transform:scale(1.03)}.heroShade{position:absolute;inset:0;background:linear-gradient(0deg,#000 0,#0009 35%,#0002 75%),linear-gradient(90deg,#0008,transparent 70%)}.heroCopy{position:relative;z-index:2;width:min(var(--max),92vw);margin:0 auto;padding-bottom:85px}.heroLogo{width:min(510px,75vw);border-radius:12px;margin-bottom:20px}.tag{color:#fff;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.hero h1{font-size:clamp(2.7rem,6vw,6.2rem);max-width:980px}.sub{color:#ddd;font-size:1.1rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.servicegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.service{height:500px;border-radius:22px;background-size:cover;background-position:center;position:relative;overflow:hidden}.service:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000e,#0002 65%)}.service>div{position:absolute;z-index:2;left:28px;right:28px;bottom:28px}.service p{margin:.4rem 0}.service span{color:var(--o);font-weight:700}.why{border-top:1px solid var(--l)}.four{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.four article{border-top:1px solid var(--l);padding-top:22px}.four b{font:600 1.45rem Oswald;text-transform:uppercase}.process{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--l)}.process div{padding:32px 24px;border-right:1px solid var(--l)}.process div:last-child{border-right:0}.process span{color:var(--o);font:700 1rem Oswald}.galleryprev{padding:105px max(18px,3vw)}.galleryprev>.head{max-width:var(--max);margin:0 auto 50px}.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:300px;gap:10px;max-width:1500px;margin:auto}.mosaic figure{margin:0;position:relative}.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:16px}.mosaic figcaption{position:absolute;left:12px;bottom:12px;background:#000c;border-radius:999px;padding:7px 10px;font-size:.72rem}.mosaic .tall{grid-row:span 2}.mosaic .wide{grid-column:span 2}.center{text-align:center;justify-content:center}.reviews{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center;border-block:1px solid var(--l)}.reviewbox{text-align:center;padding:40px;background:var(--p);border-radius:22px}.stars{color:var(--o2);font-size:2rem;letter-spacing:.14em;margin-bottom:18px}.split{display:grid;grid-template-columns:1.25fr .75fr;gap:45px;align-items:center}.split img{border-radius:22px}.textlink{color:var(--o);font-weight:700}.final{height:720px;position:relative;display:grid;align-items:end}.final>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.finalshade{position:absolute;inset:0;background:linear-gradient(0deg,#000 0,#0009 45%,#0002)}.finalcopy{position:relative;z-index:2;width:min(var(--max),90vw);margin:auto;padding-bottom:80px}.finalcopy p{max-width:620px;font-size:1.08rem}.pagehero{padding:180px max(24px,calc((100vw - var(--max))/2 + 24px)) 90px;background:linear-gradient(180deg,#121314,#080808)}.servicelist a{padding:38px 0;border-bottom:1px solid var(--l);display:grid;grid-template-columns:1fr 1fr auto;gap:25px;align-items:end}.servicelist span{color:var(--o);font-weight:700}.svchero{min-height:760px;position:relative;display:grid;align-items:end}.svchero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.svchero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000 3%,#000b 45%,#0002)}.svchero>div{position:relative;z-index:2;width:min(var(--max),90vw);margin:auto;padding-bottom:85px}.svchero p{max-width:690px;font-size:1.1rem}.price{color:#fff!important;font:700 1.8rem Oswald}.svcdetail{display:grid;grid-template-columns:1fr 1fr;gap:70px}.svcdetail ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--l)}.svcdetail li{padding:18px 0;border-bottom:1px solid var(--l);color:#d8dad9}.simplecta{text-align:center;padding:100px 24px;border-top:1px solid var(--l)}.galleryfull{padding:20px;columns:3 320px;column-gap:12px}.galleryfull figure{break-inside:avoid;margin:0 0 12px;position:relative}.galleryfull img{width:100%;border-radius:15px}.galleryfull figcaption{position:absolute;left:12px;bottom:12px;background:#000c;border-radius:999px;padding:7px 10px;font-size:.72rem}.about{max-width:860px}.lead{color:#fff;font-size:1.65rem}.contact{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px}.contactcard{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.contactcard a{font-weight:700}.quote,.drawer form{display:grid;gap:15px}.quote{background:var(--p);padding:30px;border:1px solid var(--l);border-radius:22px}.quote label,.drawer label{display:grid;gap:7px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.quote input,.quote select,.quote textarea,.drawer input,.drawer select,.drawer textarea{background:#090909;border:1px solid var(--l);color:#fff;border-radius:11px;padding:13px}.two{display:grid;grid-template-columns:.5fr 1.5fr;gap:12px}.quote small{color:#777}footer{text-align:center;padding:70px 24px 105px;border-top:1px solid var(--l)}footer>img{width:320px;margin:auto;border-radius:10px}footer>strong{display:block;margin-top:12px;letter-spacing:.1em;text-transform:uppercase}.links{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:24px 0}.sig{color:var(--o);font-weight:700}.rail{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:80;display:flex;flex-direction:column;border-radius:14px 0 0 14px;overflow:hidden}.rail a,.rail button{width:48px;height:145px;writing-mode:vertical-rl;transform:rotate(180deg);display:flex;justify-content:center;align-items:center;border:0;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700;cursor:pointer}.rail a{background:#151617}.rail button{background:var(--o);color:#fff}.mobilebar{display:none}.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;visibility:hidden;opacity:0;transition:.2s}.modal.open{visibility:visible;opacity:1}.shade{position:absolute;inset:0;background:#000d;backdrop-filter:blur(6px)}.card{position:relative;z-index:2;width:min(520px,92vw);background:#121314;border:1px solid #e8650060;border-radius:24px;padding:34px;text-align:center}.card>img{width:310px;margin:auto;border-radius:10px}.x{position:absolute;right:16px;top:10px;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}.drawer{position:fixed;inset:0;z-index:190;visibility:hidden;background:#0009}.drawer.open{visibility:visible}.drawerpanel{position:absolute;right:0;top:0;bottom:0;width:min(460px,92vw);background:#111214;padding:90px 28px 28px;transform:translateX(100%);transition:.28s}.drawer.open .drawerpanel{transform:none}.decision{position:fixed;z-index:100;left:22px;bottom:22px;width:min(390px,calc(100vw - 44px));background:#111214;border:1px solid var(--l);border-radius:18px;padding:22px;box-shadow:0 20px 60px #0009;display:none}.decision.show{display:block}.decision b,.decision span{display:block}.decision span{color:var(--m);font-size:.9rem;margin:7px 0 15px}.decision div{display:flex;gap:16px}.decision a,.textbtn{color:var(--o);background:none;border:0;padding:0;font-weight:700;cursor:pointer}.decisionx{position:absolute;right:12px;top:8px;background:none;border:0;color:#aaa}.reveal{opacity:0;transform:translateY(24px);transition:.75s}.reveal.visible{opacity:1;transform:none}@keyframes zoom{to{transform:scale(1)}}@media(max-width:900px){.hdr nav{display:none;position:absolute;top:70px;left:16px;right:16px;flex-direction:column;background:#111;padding:20px;border-radius:16px}.hdr nav.open{display:flex}.menu{display:block}.hdr>.btn{display:none}.four,.process{grid-template-columns:repeat(2,1fr)}.servicegrid,.reviews,.split,.svcdetail,.contact{grid-template-columns:1fr}.mosaic{grid-template-columns:repeat(2,1fr)}.servicelist a{grid-template-columns:1fr}.service{height:420px}}@media(max-width:650px){.hdr{height:66px;padding:0 16px}.brand img{width:165px;height:50px}.hero{min-height:760px}.heroCopy{padding-bottom:90px}.hero h1{font-size:clamp(2.35rem,11vw,4.1rem)}.heroLogo{width:82vw}.section{padding:78px 20px}.servicegrid,.four,.process{grid-template-columns:1fr}.process div{border-right:0;border-bottom:1px solid var(--l)}.mosaic{grid-template-columns:1fr;grid-auto-rows:360px}.mosaic .wide,.mosaic .tall{grid-column:auto;grid-row:auto}.rail{display:none}.mobilebar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;z-index:85;left:10px;right:10px;bottom:10px;border-radius:999px;overflow:hidden;background:#121314;border:1px solid var(--l)}.mobilebar a,.mobilebar button{border:0;background:none;color:#fff;text-align:center;padding:13px;font-weight:700}.mobilebar button{background:var(--o)}.two{grid-template-columns:1fr}.final{height:700px}.finalcopy{padding-bottom:90px}.decision{bottom:74px}footer{padding-bottom:120px}}
/* ===== Handcrafted refinement pass — Aug 2026 ===== */
.heroCopy{max-width:980px}
.heroCopy .tag{margin-top:0}
.service{height:390px;background-color:#151515;background-repeat:no-repeat}
.service:after{background:linear-gradient(0deg,#000 0%,#000b 30%,#00025 68%,#0000 100%)}
.service>div{bottom:24px}
.reviews{padding-top:80px;padding-bottom:80px}
.reviewbox{padding:30px}
.convenience{padding-top:80px;padding-bottom:80px}
footer>img{width:250px}
footer{padding-top:58px}

@media(max-width:650px){
  .hdr{background:#090909ee;backdrop-filter:blur(14px);border-bottom:1px solid var(--l)}
  .brand img{width:154px;height:46px;object-fit:cover}
  .hero{height:auto;min-height:690px;align-items:end}
  .heroCopy{padding:150px 20px 92px;width:100%;margin:0}
  .hero h1{font-size:clamp(2.45rem,10.8vw,3.85rem);max-width:12ch}
  .hero .tag{font-size:.78rem;letter-spacing:.14em}
  .hero .sub{font-size:1rem;margin-top:14px}
  .hero .actions{gap:10px}
  .hero .actions .btn{padding:13px 18px}
  .section{padding:58px 20px}
  .head{margin-bottom:30px}
  .head h2{font-size:clamp(2.1rem,10vw,3rem)}
  .servicegrid{gap:12px}
  .service{height:285px;border-radius:18px;background-position:center 38%}
  .service:nth-child(1){background-position:center 42%}
  .service:nth-child(2){background-position:center 46%}
  .service:nth-child(3){background-position:center 42%}
  .service:nth-child(4){background-position:center 42%}
  .service>div{left:20px;right:20px;bottom:20px}
  .service h3{font-size:1.55rem}
  .why{padding-top:62px}
  .four article{padding:22px 0 10px}
  .four article p{margin-bottom:0}
  .process div{padding:24px 12px}
  .galleryprev{padding:62px 20px}
  .galleryprev>.head{margin-bottom:30px}
  .mosaic{grid-auto-rows:310px;gap:10px}
  .mosaic figure{min-height:0}
  .reviews{padding:62px 20px;gap:28px}
  .reviewbox{padding:28px 18px}
  .stars{font-size:1.7rem;margin-bottom:16px}
  .convenience{padding:62px 20px}
  .convenience .split{gap:26px}
  .final{height:600px}
  .finalcopy{padding:0 20px 110px;width:100%}
  .finalcopy h2{font-size:clamp(2.35rem,11vw,3.5rem)}
  .finalcopy .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .finalcopy .actions .book{grid-column:1/-1}
  footer{padding:52px 20px 116px}
  footer>img{width:205px}
  footer>strong{font-size:.85rem}
  footer p{margin:.65rem 0}
  .links{gap:14px;margin:18px 0;flex-direction:column}
  .decision{bottom:78px;left:16px;width:calc(100vw - 32px);padding:18px}
  .decision.show{animation:decisionIn .25s ease-out}
}
@keyframes decisionIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}


/* ===== Homepage polish pass 2 ===== */
.service{background:none!important;isolation:isolate}
.service-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transform:scale(1.01)}
.service:after{z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.72) 31%,rgba(0,0,0,.18) 70%,rgba(0,0,0,.04) 100%)}
.service>div{z-index:2}
#services,.why,.galleryprev,.reviews,.convenience,.final{scroll-margin-top:90px}

@media(max-width:650px){
  body{padding-bottom:76px}
  .mobilebar{left:16px;right:16px;bottom:max(6px,env(safe-area-inset-bottom));height:54px;z-index:120;box-shadow:0 10px 34px #000b}
  .mobilebar a,.mobilebar button{padding:0 8px;display:flex;align-items:center;justify-content:center;font-size:1rem}
  .service{height:250px}
  .service-media{object-position:center 48%}
  .service:nth-child(1) .service-media{object-position:center 54%}
  .service:nth-child(2) .service-media{object-position:center 48%}
  .service:nth-child(3) .service-media{object-position:center 48%}
  .service:nth-child(4) .service-media{object-position:center 48%}
  .section{padding-top:52px;padding-bottom:52px}
  .why{padding-top:54px;padding-bottom:48px}
  .four{gap:0}
  .four article{padding:18px 0 8px}
  .process div{padding:20px 10px}
  .galleryprev{padding-top:54px;padding-bottom:54px}
  .reviews{padding-top:54px;padding-bottom:54px}
  .convenience{padding-top:54px;padding-bottom:54px}
  .decision{bottom:68px}
  #services,.why,.galleryprev,.reviews,.convenience,.final{scroll-margin-top:76px}
  footer{padding-bottom:100px}
}

/* Gallery captions + full-logo header fit */
.brand img{object-fit:contain;background:#fff}
@media(max-width:650px){.brand img{object-fit:contain;background:#fff}}
