:root{--h-gold:hsl(var(--primary));--h-gold2:hsl(var(--accent));--h-mut:hsl(var(--muted-foreground));--h-card:hsl(0 0% 10%)}
html{scroll-behavior:smooth}
.h-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.h-sec{padding:7rem 0;scroll-margin-top:60px}
.h-sec.alt{background:hsl(var(--secondary))}
.h-label{font:500 .72rem "DM Sans",sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--h-gold);margin:0 0 1rem}
.h-title{font:300 clamp(2.2rem,5vw,3.6rem)/1.1 "Cormorant Garamond",serif;margin:0 0 1.4rem;color:hsl(var(--foreground))}
.h-title.big{font-size:clamp(3rem,8vw,6rem)}
.h-sub{color:var(--h-mut);margin:0;font-size:1rem}
.h-p{color:var(--h-mut);line-height:1.8;margin:0 0 1.1rem}
.h-head{text-align:center;max-width:720px;margin:0 auto 3.5rem}
.h-btn{display:inline-block;padding:.95rem 2rem;border:1px solid hsl(var(--primary)/.5);color:hsl(var(--foreground));font:500 .78rem "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;background:transparent;cursor:pointer;transition:.3s;text-decoration:none}
.h-btn:hover{background:hsl(var(--primary)/.12)}
.h-btn.solid{background:var(--h-gold);color:#0a0a0a;border-color:var(--h-gold)}
.h-btn.solid:hover{background:var(--h-gold2)}
.h-btn.wide{display:block;text-align:center;margin:1.6rem 0 2rem}
.h-reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}
.h-reveal.in{opacity:1;transform:none}
@media (scripting:none){.h-reveal{opacity:1;transform:none}}

/* hero */
.h-hero{position:relative;height:100svh;min-height:620px;overflow:hidden;background:#000}
.h-slides,.h-slide{position:absolute;inset:0}
.h-slide{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.07);transition:opacity 1.8s ease,transform 9s ease-out}
.h-slide.on{opacity:1;transform:scale(1)}
.h-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.25) 40%,rgba(0,0,0,.7) 100%)}
.h-hloc,.h-htag{position:absolute;top:110px;margin:0;font:500 .7rem "DM Sans",sans-serif;letter-spacing:.32em;text-transform:uppercase;color:var(--h-gold);z-index:2}
.h-hloc{left:32px}.h-htag{right:32px}
.h-hmid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 20px;z-index:2}
.h-hlogo{width:min(420px,76vw);height:auto;filter:drop-shadow(0 4px 24px rgba(0,0,0,.5))}
.h-hsub{margin:1.2rem 0 2.4rem;font:500 .78rem "DM Sans",sans-serif;letter-spacing:.45em;text-transform:uppercase;color:hsl(var(--foreground)/.85)}
.h-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.h-count{position:absolute;left:32px;bottom:34px;z-index:2;display:flex;align-items:center;gap:12px;font:300 1.1rem "Cormorant Garamond",serif;color:hsl(var(--foreground)/.8)}
.h-count b{font-weight:400;color:var(--h-gold)}.h-count i{display:block;width:44px;height:1px;background:hsl(var(--foreground)/.4)}
.h-scroll{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;font:500 .62rem "DM Sans",sans-serif;letter-spacing:.35em;text-transform:uppercase;color:hsl(var(--foreground)/.7);text-decoration:none}
.h-scroll i{display:block;width:1px;height:44px;background:linear-gradient(var(--h-gold),transparent);animation:h-drop 2s ease-in-out infinite}
.h-scroll.static{position:static;transform:none;margin-top:3rem}
@keyframes h-drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* about */
.h-about{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:center}
.h-frame{position:relative}
.h-frame::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid hsl(var(--primary)/.4)}
.h-frame img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.h-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:6rem;padding-top:3.5rem;border-top:1px solid hsl(var(--primary)/.15);text-align:center}
.h-stat b{display:block;font:300 clamp(2.6rem,5vw,3.8rem)/1 "Cormorant Garamond",serif;color:var(--h-gold)}
.h-stat span:last-child{display:block;margin-top:.6rem;font:500 .72rem "DM Sans",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--h-mut)}

/* portfolio grid */
.h-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.h-tile{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;background:#111}
.h-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s ease}
.h-tile:hover img{transform:scale(1.06)}
.h-more{text-align:center;margin:3.5rem 0 0}

/* cards */
.h-cards{display:grid;gap:22px}.h-cards.three{grid-template-columns:repeat(3,1fr)}
.h-card{background:var(--h-card);border:1px solid hsl(var(--primary)/.12);padding:2.4rem 2rem;transition:border-color .4s,transform .4s}
.h-card:hover{border-color:hsl(var(--primary)/.45)}
.h-card.flat{background:transparent}
.h-card h3{font:400 1.55rem "Cormorant Garamond",serif;margin:1.1rem 0 .7rem;color:hsl(var(--foreground))}
.h-card p{margin:0;color:var(--h-mut);line-height:1.75;font-size:.95rem}
.h-ico{width:54px;height:54px;color:var(--h-gold)}.h-ico svg{width:100%;height:100%}
.h-tick{width:34px;height:34px;border:1px solid hsl(var(--primary)/.45);border-radius:50%;padding:8px;color:var(--h-gold)}.h-tick svg{width:100%;height:100%}
.h-brands{list-style:none;display:flex;flex-wrap:wrap;gap:12px 38px;justify-content:center;margin:4rem 0 0;padding:0;font:500 .78rem "DM Sans",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--h-mut)}
.h-card.quote{position:relative;display:flex;flex-direction:column}
.h-q{font:400 5rem/0.6 "Cormorant Garamond",serif;color:hsl(var(--primary)/.5);height:2rem}
.h-card.quote blockquote{margin:1rem 0 1.6rem;font:italic 400 1.2rem/1.6 "Cormorant Garamond",serif;color:hsl(var(--foreground)/.92);flex:1}
.h-card.quote figcaption b{display:block;font:500 .85rem "DM Sans",sans-serif;letter-spacing:.08em;color:var(--h-gold)}
.h-card.quote figcaption span{font-size:.8rem;color:var(--h-mut)}

/* booking */
.h-book{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:start}
.h-form{background:var(--h-card);border:1px solid hsl(var(--primary)/.15);padding:2.4rem}
.h-steps{list-style:none;display:flex;gap:6px;margin:0 0 2rem;padding:0}
.h-steps li{flex:1;display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:2px solid hsl(var(--primary)/.2);font:500 .66rem "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--h-mut)}
.h-steps li b{font:400 1.2rem "Cormorant Garamond",serif}
.h-steps li.on{border-color:var(--h-gold);color:var(--h-gold)}
.h-form fieldset{border:0;padding:0;margin:0;display:grid;gap:1.1rem}
.h-form fieldset[hidden]{display:none}
.h-form h3{font:400 1.7rem "Cormorant Garamond",serif;margin:0 0 .4rem}
.h-form label{display:grid;gap:6px;font:500 .7rem "DM Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--h-mut)}
.h-form input:not([type=checkbox]),.h-form select,.h-form textarea{background:#0a0a0a;border:1px solid hsl(var(--primary)/.2);color:hsl(var(--foreground));padding:.85rem 1rem;font:400 .95rem "DM Sans",sans-serif;letter-spacing:0;text-transform:none;border-radius:0;width:100%}
.h-form input:focus,.h-form select:focus,.h-form textarea:focus{outline:1px solid var(--h-gold);border-color:var(--h-gold)}
.h-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.h-checks .chk{display:flex;align-items:center;gap:10px;padding:.85rem 1rem;border:1px solid hsl(var(--primary)/.2);letter-spacing:.02em;text-transform:none;font:400 .9rem "DM Sans",sans-serif;color:hsl(var(--foreground));cursor:pointer}
.h-checks .chk:has(input:checked){border-color:var(--h-gold);background:hsl(var(--primary)/.08)}
.h-checks input{accent-color:#c9a24b}
.h-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.h-err{color:#f08a80;min-height:1.2em;margin:1rem 0 0;font-size:.9rem}
.h-fbtns{display:flex;gap:12px;justify-content:flex-end;margin-top:.6rem}
.h-done{text-align:center;padding:2rem 0}.h-done[hidden]{display:none}
.h-done p{color:var(--h-mut);margin:.4rem 0 1.6rem}
.h-info{padding:1rem 0 0}
.h-info dt{font:500 .68rem "DM Sans",sans-serif;letter-spacing:.25em;text-transform:uppercase;color:var(--h-gold);margin-top:1.4rem}
.h-info dd{margin:.35rem 0 0;font:400 1.3rem "Cormorant Garamond",serif;word-break:break-word}.h-info a{color:inherit;text-decoration:none}
.h-info h3{font:400 1.5rem "Cormorant Garamond",serif;margin:0 0 1rem}
.h-why{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.h-why li{display:flex;gap:12px;color:var(--h-mut);line-height:1.6;font-size:.95rem}.h-why svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--h-gold)}

/* portfolio page */
.h-pfhead{min-height:70svh;display:grid;place-items:center;text-align:center;padding:9rem 24px 4rem;background:radial-gradient(120% 90% at 50% 0%,#1a1510 0%,#0a0a0a 70%)}
.h-pf{padding:0 16px 7rem;max-width:1500px;margin:0 auto;scroll-margin-top:70px}
.h-masonry{column-count:3;column-gap:14px}
.h-m{display:block;break-inside:avoid;margin:0 0 14px;overflow:hidden;background:#111;position:relative}
.h-m img{width:100%;height:auto;display:block;transition:transform .9s ease,opacity .4s}
.h-m:hover img{transform:scale(1.04)}

/* lightbox */
.h-lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.95);display:grid;place-items:center}
.h-lb[hidden]{display:none}
.h-lb img{max-width:92vw;max-height:88vh;object-fit:contain;box-shadow:0 10px 60px rgba(0,0,0,.6)}
.h-lb button{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font-size:2.2rem;line-height:1;padding:14px;opacity:.8}
.h-lb button:hover{opacity:1;color:var(--h-gold)}
.h-lb .x{top:10px;right:14px}.h-lb .p{left:8px;top:50%}.h-lb .n{right:8px;top:50%}
.h-lb .c{position:absolute;bottom:16px;left:0;right:0;text-align:center;font:400 .85rem "DM Sans",sans-serif;letter-spacing:.2em;color:hsl(var(--foreground)/.7)}

@media (max-width:900px){
  .h-sec{padding:5rem 0}
  .h-about,.h-book{grid-template-columns:1fr;gap:3rem}
  .h-frame::before{inset:12px -10px -12px 10px}
  .h-stats{grid-template-columns:1fr 1fr;margin-top:4rem}
  .h-grid{grid-template-columns:1fr 1fr;gap:10px}
  .h-cards.three{grid-template-columns:1fr}
  .h-masonry{column-count:2;column-gap:10px}.h-m{margin-bottom:10px}
  .h-hloc{left:20px;top:92px}.h-htag{right:20px;top:92px}
  .h-count{left:20px}
  .h-form{padding:1.4rem}
  .h-steps li span{display:none}
  .h-checks{grid-template-columns:1fr}
}
@media (max-width:520px){.h-masonry{column-count:1}.h-hloc,.h-htag{font-size:.6rem;letter-spacing:.2em}}
@media (prefers-reduced-motion:reduce){.h-slide,.h-reveal,.h-tile img,.h-m img{transition:none!important}.h-scroll i{animation:none}html{scroll-behavior:auto}}
