/* self-hosted type */
@font-face{font-family:'Playfair';font-weight:500;font-display:swap;src:url(../assets/fonts/Playfair-500.woff2) format('woff2')}
@font-face{font-family:'Playfair';font-weight:700;font-display:swap;src:url(../assets/fonts/Playfair-700.woff2) format('woff2')}
@font-face{font-family:'Playfair';font-weight:500;font-style:italic;font-display:swap;src:url(../assets/fonts/Playfair-Italic-500.woff2) format('woff2')}
@font-face{font-family:'Great Vibes';font-weight:400;font-display:swap;src:url(../assets/fonts/GreatVibes.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url(../assets/fonts/Inter-400.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;src:url(../assets/fonts/Inter-500.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url(../assets/fonts/Inter-600.woff2) format('woff2')}
/* Summit & Sage — Zara-style boutique concept · 316 Web Works */
:root{--ink:#2a2119;--paper:#f6f1e7;--grey:#ece4d6;--mid:#8a7b6a;--line:#dccfbb;--tq:#3f9e97;--gold:#c99a45;--fd:'Playfair',serif;--fs:'Great Vibes',cursive;--fb:'Inter',sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--fb);font-size:13px;line-height:1.55;-webkit-font-smoothing:antialiased;padding-top:118px}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
.hidden{display:none}
.banner{position:fixed;top:0;left:0;right:0;z-index:100;background:#2a2119;color:#f6f1e7;font-size:10px;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:7px 12px}
.u{font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.u.line{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:2px}
.muted{color:var(--mid)}
h1,h2{font-family:var(--fd);font-weight:500;letter-spacing:0;line-height:1.05}
h2 em{font-style:italic;color:var(--tq)}
.script{font-family:var(--fs);font-size:clamp(28px,3vw,40px);line-height:1;color:var(--gold);margin-bottom:6px}
.amp{font-family:var(--fs);font-size:.9em;color:var(--gold)}
.u.light{color:rgba(246,241,231,.85);margin:12px 0 18px}
h2{font-size:clamp(30px,3.4vw,44px)}

/* nav — sits over the split hero, difference-blend so it reads on both halves */
.nav{position:fixed;top:28px;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:12px 40px;background:rgba(246,241,231,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);border-bottom:1px solid var(--line)}
.nav .logo img{height:64px;width:auto;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.nav .logo i{font-style:italic}
.nav ul{display:flex;gap:26px;list-style:none;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.nav .links{position:absolute;left:50%;transform:translateX(-50%)}
.burger{display:none;flex-direction:column;gap:6px;padding:6px}
.burger span{width:22px;height:1px;background:var(--ink)}
.mmenu{position:fixed;inset:28px 0 0 0;background:var(--paper);z-index:45;display:none;flex-direction:column;justify-content:center;align-items:center;gap:18px}
.mmenu.open{display:flex}
.mmenu a{font-family:var(--fd);font-size:34px}

/* split hero */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 118px)}
.split .left{position:relative;background:#2a2119;overflow:hidden;min-height:calc(100vh - 118px)}
.bgv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#111}
.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,0) 40%,rgba(0,0,0,.55))}
.shade.soft{background:linear-gradient(90deg,rgba(42,33,25,.72),rgba(42,33,25,.08) 70%),linear-gradient(180deg,transparent 40%,rgba(42,33,25,.5))}
.split .word{position:absolute;left:40px;right:40px;bottom:44px;color:#fff}
.split .word h1{font-size:clamp(48px,5.6vw,84px);margin:4px 0 0}
.split .right{padding:48px 40px 40px;display:flex;flex-direction:column;justify-content:center}
.split .right h2{margin:6px 0 22px}
.split .right > .u.line{margin-top:14px;align-self:flex-start}

/* product grid */
.grid{display:grid;gap:4px}
.grid.c2{grid-template-columns:repeat(2,1fr)}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c4{grid-template-columns:repeat(4,1fr)}
.p .im{position:relative;aspect-ratio:3/4;background:var(--grey);overflow:hidden;border-radius:2px}
.p .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.p:hover .im img{transform:scale(1.04)}
.p .add{position:absolute;left:8px;right:8px;bottom:8px;background:var(--ink);color:var(--paper);padding:11px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .45s var(--ease)}
.p:hover .add,.p .add:focus{opacity:1;transform:none}
.p .t{padding:10px 6px 22px;font-size:11px;letter-spacing:.04em}
.p .t span{display:block;color:var(--mid);margin-top:2px}

/* tiles */
.tiles{padding:4px}
.tile{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--grey);display:block}
.tile.tall{aspect-ratio:4/5}
.tile img,.tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.tile:hover img,.tile:hover video{transform:scale(1.04)}
.tile b{position:absolute;left:0;right:0;bottom:28px;text-align:center;color:#fff;font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 2px 24px rgba(0,0,0,.6)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(42,33,25,.55))}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px}

/* full-bleed video bands */
.band{position:relative;min-height:72vh;display:flex;align-items:flex-end;overflow:hidden;background:#2a2119;color:#f6f1e7;margin:4px}
.band.tall-band{min-height:90vh}
.band-copy{position:relative;z-index:2;padding:60px 40px;max-width:560px}
.band-copy.wide{max-width:680px}
.band-copy h2{margin:10px 0 18px;font-size:clamp(34px,4.2vw,56px)}
.band-p{font-size:15px;line-height:1.7;color:rgba(246,241,231,.88)}
.perks{list-style:none;margin-top:18px;display:grid;gap:6px;font-size:12px;letter-spacing:.06em}
.perks li::before{content:"— "}

/* sections */
.sec{padding:60px 40px 40px}
.sec-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}
.sec .grid{margin:0 -36px}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;padding-top:20px}
.visit dl{display:grid;grid-template-columns:110px 1fr;gap:10px 16px;margin:24px 0 30px;font-size:13px}
.visit dt{color:var(--mid);text-transform:uppercase;letter-spacing:.12em;font-size:10px;padding-top:3px}
.form{display:flex;border-bottom:1px solid var(--ink);max-width:420px}
.visit a{color:var(--tq)}
.form input{flex:1;border:0;padding:12px 0;font-size:13px;outline:none;background:transparent}
.form button{font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:0 0 0 16px}
.map{aspect-ratio:4/3;background:var(--grey)}
.map iframe{width:100%;height:100%;border:0;filter:sepia(.35) contrast(1.05)}
.foot{padding:50px 40px;border-top:1px solid var(--line);background:var(--grey);color:var(--mid);font-size:11px;letter-spacing:.1em;text-transform:uppercase;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.foot a{color:var(--ink)}

/* bag drawer (demo) */
.bag{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--paper);z-index:200;transform:translateX(100%);transition:transform .5s var(--ease);display:flex;flex-direction:column;padding:28px}
.bag.open{transform:none}
.bag-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.bag-head button{font-size:26px;line-height:1}
.bag-items{flex:1;overflow:auto;display:grid;gap:14px;align-content:start}
.bag-items .empty{color:var(--mid)}
.bag-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;font-size:12px}
.bag-item img{width:64px;aspect-ratio:3/4;object-fit:cover}
.bag-item span{display:block;color:var(--mid)}
.bag-foot{border-top:1px solid var(--line);padding-top:16px}
.bag-foot .row{display:flex;justify-content:space-between;margin-bottom:14px}
.checkout{width:100%;background:var(--ink);color:var(--paper);padding:14px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.fine{font-size:10px;color:var(--mid);margin-top:10px}
.bag-veil{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:150;opacity:0;pointer-events:none;transition:opacity .4s}
.bag-veil.open{opacity:1;pointer-events:auto}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:10px 18px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:0;transition:opacity .3s,transform .4s var(--ease);z-index:300;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media(prefers-reduced-motion:reduce){.p .im img,.tile img,.tile video{transition:none}}
@media(max-width:960px){
  .nav{padding:16px 20px}.nav .links{display:none}.burger{display:flex}
  .split{grid-template-columns:1fr}.split .left{min-height:72vh}.split .right{padding:40px 20px}
  .grid.c4{grid-template-columns:repeat(2,1fr)}.grid.c3.tiles{grid-template-columns:1fr}.tile{aspect-ratio:4/5}
  .duo{grid-template-columns:1fr}.visit-grid{grid-template-columns:1fr}
  .sec{padding:40px 20px 20px}.sec .grid{margin:0 -16px}.band-copy{padding:40px 20px}.split .word{left:20px;right:20px}
}

/* mobile hardening */
.banner{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:960px){
  .nav .logo{font-size:20px;white-space:nowrap}
  .nav .util li:not(:last-child){display:none}
  .nav ul{gap:14px}
}

.grain{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.06;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");mix-blend-mode:multiply}
.split .word .script{color:#e8c46b}
@media(max-width:960px){.nav .logo img{height:44px}body{padding-top:98px}.split{min-height:auto}.split .left{min-height:70vh}}
.split .shade{background:linear-gradient(180deg,rgba(42,33,25,.15),rgba(42,33,25,0) 35%,rgba(42,33,25,.72) 78%,rgba(42,33,25,.85))}

/* instagram */
.ig{display:inline-block;vertical-align:middle}
.nav .igli a{display:flex;align-items:center}
.igm{display:flex;align-items:center;gap:8px;font-family:var(--fb)!important;font-size:12px!important;letter-spacing:.14em;text-transform:uppercase;margin-top:10px}
.igf{display:inline-flex;align-items:center;gap:6px}
.ig-sec{padding-bottom:20px}
.ig-head{align-items:end}
.ig-head h2 a{color:inherit}
.igbtn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);padding:13px 18px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;transition:background .3s}
.igbtn:hover{background:var(--tq)}
.grid.c6{grid-template-columns:repeat(6,1fr)}
.iggrid{margin:0 -36px}
.igt{position:relative;aspect-ratio:1;overflow:hidden;background:var(--grey);display:block}
.igt img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .5s}
.igt:hover img{transform:scale(1.05)}
.igt::after{content:"";position:absolute;inset:0;background:rgba(42,33,25,0);transition:background .4s}
.igt:hover::after{background:rgba(42,33,25,.18)}
.ig-note{margin-top:14px;font-size:11px;letter-spacing:.06em;color:var(--mid)}
@media(max-width:960px){.grid.c6{grid-template-columns:repeat(3,1fr)}.iggrid{margin:0 -16px}.ig-head{flex-direction:column;align-items:flex-start;gap:14px}.nav .util li.igli{display:list-item!important}}
