/* Aura Cabello — shared stylesheet */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/cormorant-garamond-300-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/cormorant-garamond-300-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/cormorant-garamond-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/cormorant-garamond-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/cormorant-garamond-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/cormorant-garamond-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/cormorant-garamond-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/cormorant-garamond-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/jost-300-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/jost-300-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jost-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jost-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jost-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jost-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jetbrains-mono-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jetbrains-mono-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Jost',Arial,Helvetica,sans-serif;
  --mono:'JetBrains Mono','Courier New',monospace;

  --bg:#F7F3EE;
  --bg-alt:#EFE7DE;
  --dark:#2A2321;
  --dark2:#453A35;
  --dark3:#6B5B52;
  --text:#2A2321;
  --text-body:#3D342F;
  --muted:#5C5049;
  --muted2:#7A6C63;
  --muted3:#8B7C70;
  --border:#E4DACF;
  --border2:#DCCEC1;
  --border3:#C9B9AA;
  --accent:#A9603F;
  --accent-hover:#7E4229;
  --accent-light:#D9A583;
  --green:#6E7A63;
  --white:#FFFFFF;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);color:var(--text);background:var(--bg);min-height:100vh;font-weight:300;-webkit-font-smoothing:antialiased;line-height:1.5;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-hover);}
img{max-width:100%;display:block;}
input,textarea,select,button{font-family:var(--sans);}
::selection{background:#E4CFC2;}
h1,h2,h3{font-family:var(--serif);font-weight:300;margin:0;}
button{cursor:pointer;}

@keyframes auraIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
@keyframes auraSlide{from{transform:translateX(30px);opacity:0;}to{transform:none;opacity:1;}}
@keyframes auraFade{from{opacity:0;}to{opacity:1;}}

.wrap{max-width:1240px;margin:0 auto;padding:0 24px;}
.wrap-narrow{max-width:1000px;margin:0 auto;padding:0 24px;}
.wrap-article{max-width:820px;margin:0 auto;padding:0 24px;}
.wrap-post{max-width:760px;margin:0 auto;padding:0 24px;}

.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:var(--accent);text-transform:uppercase;}
.pill{cursor:pointer;border-radius:999px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:16px 32px;display:inline-block;border:none;text-align:center;transition:background .15s,color .15s,border-color .15s;}
.pill-dark{background:var(--dark);color:var(--bg);}
.pill-dark:hover{background:var(--accent);color:var(--bg);}
.pill-outline{border:1px solid var(--dark);color:var(--text);background:transparent;}
.pill-outline:hover{background:var(--bg-alt);}
.pill-light{background:var(--bg-alt);color:var(--dark);}
.pill-light:hover{background:#e3d6c8;}

/* ---------- Topbar + header ---------- */
.topbar{background:var(--dark);color:#EFE7DE;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;padding:9px 24px;display:flex;justify-content:center;gap:28px;flex-wrap:wrap;text-align:center;}
.topbar span.sep{opacity:.4;}
.topbar a{color:inherit;}

.site-header{position:sticky;top:0;z-index:60;background:rgba(247,243,238,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.site-header .inner{max-width:1240px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:28px;}
.brand{cursor:pointer;line-height:1;color:inherit;}
.brand .name{font-family:var(--serif);font-size:27px;letter-spacing:.14em;text-transform:uppercase;color:var(--text);}
.brand .tagline{font-family:var(--mono);font-size:9.5px;letter-spacing:.3em;color:var(--accent);text-transform:uppercase;margin-top:3px;}

.main-nav{display:flex;gap:22px;margin-left:auto;font-size:14.5px;letter-spacing:.04em;flex-wrap:wrap;}
.main-nav a{color:var(--text);cursor:pointer;padding:4px 0;border-bottom:1px solid transparent;}
.main-nav a:hover,.main-nav a.active{border-bottom:1px solid var(--accent);color:var(--text);}

.header-actions{display:flex;align-items:center;gap:12px;}
.cart-btn{cursor:pointer;position:relative;border:1px solid var(--border3);border-radius:999px;padding:9px 16px;font-size:13px;letter-spacing:.06em;background:transparent;color:var(--text);}
.cart-btn:hover{background:var(--bg-alt);}
.book-btn{cursor:pointer;background:var(--dark);color:var(--bg);border-radius:999px;padding:10px 20px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;border:none;}
.book-btn:hover{background:var(--accent);}

.nav-toggle{display:none;background:none;border:1px solid var(--border3);border-radius:8px;padding:8px 10px;margin-left:auto;}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--dark);margin:4px 0;}

/* ---------- Hero / home ---------- */
.hero{padding:64px 24px 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.hero h1{font-size:76px;line-height:1.02;letter-spacing:-.02em;margin:22px 0 0;}
.hero h1 em{font-style:italic;color:var(--accent);}
.hero p.lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:520px;margin:26px 0 0;}
.hero .cta-row{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
.hero .stats{display:flex;gap:44px;margin-top:52px;flex-wrap:wrap;}
.hero .stats .num{font-family:var(--serif);font-size:40px;}
.hero .stats .lbl{font-size:13px;color:var(--muted2);letter-spacing:.05em;}
.hero-media{position:relative;}
.hero-media .photo{aspect-ratio:4/5;border-radius:2px;overflow:hidden;background:var(--bg-alt);}
.hero-media .photo img{width:100%;height:100%;object-fit:cover;}
.hero-card{position:absolute;bottom:-28px;left:-36px;background:var(--dark);color:#EFE7DE;padding:22px 26px;max-width:230px;}
.hero-card .t{font-family:var(--serif);font-size:26px;line-height:1.15;}
.hero-card .d{font-size:13.5px;line-height:1.6;margin-top:8px;opacity:.8;}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:40px;}
  .hero h1{font-size:52px;}
  .hero-card{position:static;max-width:none;margin-top:20px;}
}

/* ---------- Sections generic ---------- */
section.band{background:var(--bg-alt);margin-top:56px;}
section.band .inner,.section-pad{padding:72px 24px;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;}
.section-head h2{font-size:52px;letter-spacing:-.01em;}
.link-arrow{cursor:pointer;font-size:14px;letter-spacing:.06em;border-bottom:1px solid var(--accent);color:var(--accent);padding-bottom:3px;white-space:nowrap;}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border2);margin-top:40px;}
.service-card{background:var(--bg);padding:34px 30px;display:flex;flex-direction:column;gap:12px;min-height:230px;}
.service-card:hover{background:#fff;}
.service-card .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--accent);}
.service-card .name{font-family:var(--serif);font-size:30px;line-height:1.1;}
.service-card .desc{font-size:14.5px;line-height:1.6;color:var(--muted);flex:1;}
.service-card .meta{display:flex;justify-content:space-between;font-size:13.5px;color:var(--muted2);border-top:1px solid var(--border);padding-top:12px;}
.service-card .meta .price{color:var(--text);}

.steps-section{max-width:1240px;margin:0 auto;padding:80px 24px;}
.steps-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;}
.steps-photo{aspect-ratio:1/1;background:var(--bg-alt);overflow:hidden;}
.steps-photo img{width:100%;height:100%;object-fit:cover;}
.steps-list{display:flex;flex-direction:column;gap:22px;}
.step-row{display:grid;grid-template-columns:56px 1fr;gap:20px;align-items:start;border-top:1px solid var(--border);padding-top:20px;}
.step-row .n{font-family:var(--serif);font-size:34px;color:var(--accent);line-height:1;}
.step-row .t{font-size:17px;letter-spacing:.02em;margin-bottom:6px;}
.step-row .d{font-size:14.5px;line-height:1.65;color:var(--muted);}
@media (max-width:900px){.steps-grid{grid-template-columns:1fr;}}

.reviews-section{background:var(--dark);color:#EFE7DE;}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.review-card{border:1px solid #453A35;padding:30px 26px;}
.review-card .stars{color:var(--accent-light);letter-spacing:.3em;font-size:13px;}
.review-card .text{font-family:var(--serif);font-size:22px;line-height:1.45;margin:16px 0 20px;font-style:italic;}
.review-card .who{font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.65;}
@media (max-width:900px){.reviews-grid{grid-template-columns:1fr;}}

.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:38px;}
.product-card{background:#fff;border:1px solid var(--border);display:flex;flex-direction:column;}
.product-card .photo{aspect-ratio:1/1;overflow:hidden;background:var(--bg-alt);}
.product-card .photo img{width:100%;height:100%;object-fit:cover;}
.product-card .body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.product-card .brandline{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--accent);}
.product-card .pname{font-size:16px;line-height:1.35;}
.product-card .short{font-size:13.5px;color:var(--muted2);line-height:1.5;flex:1;}
.product-card .row{display:flex;align-items:center;justify-content:space-between;margin-top:6px;}
.product-card .price{font-family:var(--serif);font-size:24px;}
.addcart-btn{cursor:pointer;border:1px solid var(--dark);border-radius:999px;padding:8px 16px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:transparent;}
.addcart-btn:hover{background:var(--dark);color:var(--bg);}
@media (max-width:900px){.products-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.products-grid{grid-template-columns:1fr;}}

.perks-grid{max-width:1240px;margin:0 auto;padding:72px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border2);}
.perks-grid .perk{background:var(--bg-alt);padding:0 28px;}
.perks-grid .perk:first-child{padding-left:0;}
.perks-grid .perk:last-child{padding-right:0;}
.perks-grid .perk .t{font-family:var(--serif);font-size:34px;margin-bottom:10px;}
.perks-grid .perk p{font-size:15px;line-height:1.65;color:var(--muted);margin:0;}
@media (max-width:900px){.perks-grid{grid-template-columns:1fr;}.perks-grid .perk{padding:0 !important;}}

.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:38px;}
.post-card{cursor:pointer;color:inherit;display:block;}
.post-card .photo{aspect-ratio:3/2;overflow:hidden;background:var(--bg-alt);}
.post-card .photo img{width:100%;height:100%;object-fit:cover;}
.post-card .meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;color:var(--accent);margin-top:16px;}
.post-card .title{font-family:var(--serif);font-size:28px;line-height:1.2;margin-top:8px;}
.post-card .lead{font-size:14.5px;line-height:1.6;color:var(--muted);margin-top:8px;}
@media (max-width:900px){.posts-grid{grid-template-columns:1fr;}}

/* ---------- Generic page header ---------- */
.page-head{padding:64px 24px 0;}
.page-head h1{font-size:64px;margin:18px 0 16px;letter-spacing:-.02em;}
.page-head p.lead{font-size:17px;line-height:1.7;color:var(--muted);max-width:720px;margin:0 0 46px;}
main.page{padding-bottom:90px;}

/* ---------- Services page ---------- */
.services-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border2);border:1px solid var(--border2);}
.services-list .item{background:var(--bg);padding:32px 30px;}
.services-list .item .row{display:flex;justify-content:space-between;gap:16px;align-items:baseline;}
.services-list .item .name{font-family:var(--serif);font-size:30px;line-height:1.1;}
.services-list .item .price{font-size:15px;color:var(--accent);white-space:nowrap;}
.services-list .item .desc{font-size:14.5px;line-height:1.65;color:var(--muted);margin-top:12px;}
.services-list .item .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--muted3);margin-top:14px;}
@media (max-width:700px){.services-list{grid-template-columns:1fr;}}

.cta-banner{background:var(--dark);color:#EFE7DE;padding:44px;margin-top:48px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
.cta-banner .t{font-family:var(--serif);font-size:36px;}
.cta-banner .d{font-size:15px;opacity:.75;margin-top:8px;}

/* ---------- Pricing ---------- */
.price-group{margin-bottom:46px;}
.price-group .gtitle{font-family:var(--serif);font-size:34px;border-bottom:1px solid var(--dark);padding-bottom:12px;margin-bottom:6px;}
.price-row{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--border);font-size:16px;}
.price-row .p{color:var(--accent);white-space:nowrap;}
.note-box{background:var(--bg-alt);padding:32px 34px;font-size:15px;line-height:1.7;color:var(--muted);}
.note-box strong{font-weight:500;color:var(--text);}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.team-card .photo{aspect-ratio:3/4;overflow:hidden;background:var(--bg-alt);}
.team-card .photo img{width:100%;height:100%;object-fit:cover;}
.team-card .name{font-family:var(--serif);font-size:30px;margin-top:18px;}
.team-card .role{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase;margin-top:6px;}
.team-card .bio{font-size:14.5px;line-height:1.65;color:var(--muted);margin-top:12px;}
.team-card .spec{font-size:13.5px;color:var(--muted2);margin-top:12px;border-top:1px solid var(--border);padding-top:10px;}
@media (max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.team-grid{grid-template-columns:1fr;}}

/* ---------- Gallery ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.gallery-grid .item{aspect-ratio:1/1;overflow:hidden;background:var(--bg-alt);}
.gallery-grid .item img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.gallery-grid .item:hover img{transform:scale(1.04);}
@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- Shop ---------- */
.shop-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px;}
.shop-filters .filter{cursor:pointer;border:1px solid var(--border3);border-radius:999px;padding:9px 20px;font-size:13.5px;letter-spacing:.04em;background:transparent;color:var(--text);}
.shop-filters .filter.active{background:var(--dark);color:var(--bg);}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.shop-card{background:#fff;border:1px solid var(--border);display:flex;flex-direction:column;}
.shop-card .photo{aspect-ratio:4/3;overflow:hidden;background:var(--bg-alt);}
.shop-card .photo img{width:100%;height:100%;object-fit:cover;}
.shop-card .body{padding:22px;display:flex;flex-direction:column;gap:9px;flex:1;}
.shop-card .brandline{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--accent);}
.shop-card .pname{font-family:var(--serif);font-size:26px;line-height:1.15;}
.shop-card .desc{font-size:14px;color:var(--muted);line-height:1.6;flex:1;}
.shop-card .stock{font-size:12.5px;color:var(--green);letter-spacing:.04em;}
.shop-card .row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;border-top:1px solid var(--border);padding-top:14px;}
.shop-card .price{font-family:var(--serif);font-size:28px;}
.addcart-btn-filled{cursor:pointer;background:var(--dark);color:var(--bg);border-radius:999px;padding:10px 20px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:none;}
.addcart-btn-filled:hover{background:var(--accent);}
.shop-perks{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px;border-top:1px solid var(--border);padding-top:36px;}
.shop-perks .t{font-size:16px;margin-bottom:6px;}
.shop-perks p{font-size:14px;color:var(--muted2);line-height:1.6;margin:0;}
@media (max-width:900px){.shop-grid{grid-template-columns:repeat(2,1fr);}.shop-perks{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.shop-grid{grid-template-columns:1fr;}.shop-perks{grid-template-columns:1fr;}}

/* ---------- Blog list / post ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:44px 32px;}
.blog-card .photo{aspect-ratio:16/9;overflow:hidden;background:var(--bg-alt);}
.blog-card .photo img{width:100%;height:100%;object-fit:cover;}
.blog-card .meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;color:var(--accent);margin-top:16px;}
.blog-card .title{font-family:var(--serif);font-size:32px;line-height:1.18;margin-top:10px;}
.blog-card .lead{font-size:15px;line-height:1.65;color:var(--muted);margin-top:10px;}
.blog-card .read{font-size:13.5px;color:var(--accent);margin-top:12px;letter-spacing:.05em;}
@media (max-width:700px){.blog-grid{grid-template-columns:1fr;}}

.post-back{cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase;}
.post-meta{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--muted3);margin-top:28px;}
.post-title{font-size:56px;line-height:1.08;margin:14px 0 26px;}
.post-photo{aspect-ratio:16/9;overflow:hidden;background:var(--bg-alt);margin-bottom:34px;}
.post-photo img{width:100%;height:100%;object-fit:cover;}
.post-body p{font-size:18px;line-height:1.75;color:var(--text-body);margin:0 0 22px;}
.post-cta{background:var(--bg-alt);padding:30px 32px;margin-top:34px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.post-cta .t{font-family:var(--serif);font-size:26px;}

/* ---------- About ---------- */
.about-photo{aspect-ratio:21/9;background:var(--bg-alt);margin-bottom:40px;overflow:hidden;}
.about-photo img{width:100%;height:100%;object-fit:cover;}
.about-photo.tall{aspect-ratio:16/9;}
.about-copy p{font-size:18px;line-height:1.75;color:var(--text-body);margin:0 0 22px;}
.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border2);border:1px solid var(--border2);}
.values-grid .item{background:var(--bg);padding:30px;}
.values-grid .item .t{font-family:var(--serif);font-size:28px;margin-bottom:10px;}
.values-grid .item p{font-size:15px;line-height:1.65;color:var(--muted);margin:0;}
@media (max-width:700px){.values-grid{grid-template-columns:1fr;}.about-photo{aspect-ratio:4/3;}}

/* ---------- Quiz ---------- */
.quiz-progress{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--muted3);}
.quiz-question{font-family:var(--serif);font-size:36px;margin:14px 0 26px;}
.quiz-options{display:flex;flex-direction:column;gap:12px;}
.quiz-option{cursor:pointer;border:1px solid var(--border3);background:#fff;padding:20px 24px;font-size:16.5px;text-align:left;width:100%;border-radius:0;}
.quiz-option:hover{border-color:var(--accent);background:var(--bg-alt);}
.quiz-result{background:var(--dark);color:#EFE7DE;padding:44px;}
.quiz-result .eyebrow2{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--accent-light);}
.quiz-result .title{font-family:var(--serif);font-size:42px;margin:14px 0 16px;}
.quiz-result .text{font-size:17px;line-height:1.7;opacity:.85;margin-bottom:24px;}
.quiz-result .tip{border-top:1px solid #453A35;padding:14px 0;font-size:15.5px;}
.quiz-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap;}
[hidden]{display:none !important;}

/* ---------- Forms ---------- */
.field label{font-size:13px;letter-spacing:.06em;color:var(--muted2);margin-bottom:7px;display:block;}
.field input[type=text],.field input[type=tel],.field input[type=email],.field input[type=date],.field select,.field textarea{width:100%;padding:14px 16px;border:1px solid var(--border3);background:#FFF;font-size:15px;outline:none;font-family:var(--sans);color:var(--text);}
.field textarea{resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.consent-row{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:var(--muted);line-height:1.55;}
.consent-row input{margin-top:3px;}
.consent-row a{color:var(--accent);border-bottom:1px solid var(--accent);}
.honeypot{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.form-msg{font-size:14px;margin-top:14px;display:none;}
.form-msg.show{display:block;}
.form-msg.error{color:#a33;}
.form-msg.ok{color:var(--green);}
@media (max-width:700px){.form-grid-2{grid-template-columns:1fr;}}

.booking-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;}
.booking-form{display:flex;flex-direction:column;gap:18px;}
.hours-box{background:var(--bg-alt);padding:28px;}
.hours-box .t{font-family:var(--serif);font-size:28px;margin-bottom:14px;}
.hours-row{display:flex;justify-content:space-between;font-size:15px;padding:9px 0;border-bottom:1px solid var(--border2);}
.hours-row span:last-child{color:var(--muted);}
.cancel-box{border:1px solid var(--border);padding:26px;margin-top:20px;}
.cancel-box .t{font-size:16px;margin-bottom:8px;}
.cancel-box p{font-size:14px;line-height:1.65;color:var(--muted);margin:0;}
.sent-box{background:var(--dark);color:#EFE7DE;padding:56px 48px;}
.sent-box .t{font-family:var(--serif);font-size:44px;}
.sent-box p{font-size:17px;line-height:1.7;opacity:.85;margin-top:14px;max-width:520px;}
@media (max-width:900px){.booking-grid{grid-template-columns:1fr;}}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.contact-photo{aspect-ratio:4/3;overflow:hidden;background:var(--bg-alt);margin-bottom:26px;}
.contact-photo iframe{width:100%;height:100%;border:0;display:block;}
.contact-info{font-size:15.5px;line-height:1.8;color:var(--text-body);}
.contact-note{margin-top:24px;font-size:14.5px;line-height:1.7;color:var(--muted);}
.contact-note strong{font-weight:500;color:var(--text);}
.contact-form-title{font-family:var(--serif);font-size:34px;margin-bottom:20px;}
.contact-form{display:flex;flex-direction:column;gap:16px;}
.small-legal{border-top:1px solid var(--border);margin-top:34px;padding-top:24px;font-size:14.5px;line-height:1.75;color:var(--muted);}
.small-legal strong{font-weight:500;color:var(--text);}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}

/* ---------- FAQ ---------- */
.faq-item{cursor:pointer;border-bottom:1px solid var(--border);padding:24px 0;background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;}
.faq-item .row{display:flex;justify-content:space-between;gap:20px;align-items:baseline;}
.faq-item .q{font-family:var(--serif);font-size:27px;line-height:1.25;color:var(--text);}
.faq-item .sign{color:var(--accent);font-size:22px;line-height:1;}
.faq-item .a{font-size:16px;line-height:1.75;color:var(--muted);margin-top:14px;max-width:680px;display:none;}
.faq-item.open .a{display:block;}

/* ---------- Legal ---------- */
.legal-updated{font-family:var(--mono);font-size:11px;color:var(--muted3);letter-spacing:.12em;margin-bottom:38px;}
.legal-section{margin-bottom:32px;}
.legal-section h2{font-size:19px;letter-spacing:.01em;margin-bottom:12px;color:var(--text);font-family:var(--sans);font-weight:500;}
.legal-section p{font-size:16px;line-height:1.75;color:#4A403A;margin:0 0 14px;}
.legal-footer-box{background:var(--bg-alt);padding:28px 30px;font-size:14.5px;line-height:1.75;color:var(--muted);}

/* ---------- Sitemap page ---------- */
.sitemap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;font-size:16px;line-height:2.1;}
.sitemap-grid .col-title{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase;margin-bottom:10px;}
.sitemap-grid a{display:block;color:var(--text);}
.sitemap-grid a:hover{color:var(--accent);}
@media (max-width:700px){.sitemap-grid{grid-template-columns:1fr;}}

/* ---------- Newsletter ---------- */
.newsletter{background:var(--bg-alt);border-top:1px solid var(--border);}
.newsletter .inner{max-width:1240px;margin:0 auto;padding:56px 24px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.newsletter .t{font-family:var(--serif);font-size:38px;line-height:1.15;}
.newsletter p{font-size:15.5px;line-height:1.7;color:var(--muted);margin-top:10px;max-width:460px;}
.newsletter-form{display:flex;gap:10px;flex-wrap:wrap;}
.newsletter-form input{flex:1;min-width:220px;padding:15px 18px;border:1px solid var(--border3);background:#FFF;font-size:15px;outline:none;}
.newsletter-form button{cursor:pointer;background:var(--dark);color:var(--bg);padding:15px 30px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;border:none;}
.newsletter-form button:hover{background:var(--accent);}
.newsletter-small{font-size:12.5px;color:var(--muted2);margin-top:10px;line-height:1.55;}
.newsletter-done{font-size:16px;color:var(--green);}
@media (max-width:800px){.newsletter .inner{grid-template-columns:1fr;}}

/* ---------- Footer ---------- */
.site-footer{background:var(--dark);color:#CFC2B8;}
.site-footer .cols{max-width:1240px;margin:0 auto;padding:64px 24px 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.site-footer .brandcol .name{font-family:var(--serif);font-size:26px;letter-spacing:.14em;text-transform:uppercase;color:#F7F3EE;}
.site-footer .brandcol .addr{font-size:14.5px;line-height:1.8;margin-top:16px;}
.site-footer .brandcol .ico{font-size:13px;line-height:1.8;margin-top:16px;opacity:.7;}
.site-footer .col{display:flex;flex-direction:column;gap:9px;font-size:14.5px;}
.site-footer .col .h{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--muted3);text-transform:uppercase;margin-bottom:6px;}
.site-footer .col a{color:#CFC2B8;}
.site-footer .col a:hover{color:#fff;}
.site-footer .bottom{max-width:1240px;margin:0 auto;padding:20px 24px 44px;border-top:1px solid #453A35;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:var(--muted3);}
@media (max-width:900px){.site-footer .cols{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.site-footer .cols{grid-template-columns:1fr;}}

/* ---------- Cart drawer ---------- */
.cart-overlay{position:fixed;inset:0;z-index:120;display:none;justify-content:flex-end;}
.cart-overlay.open{display:flex;}
.cart-backdrop{position:absolute;inset:0;background:rgba(42,35,33,.45);border:none;padding:0;cursor:pointer;}
.cart-panel{position:relative;width:440px;max-width:92vw;background:var(--bg);height:100%;display:flex;flex-direction:column;animation:auraSlide .25s ease;}
.cart-head{padding:24px 28px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.cart-head .t{font-family:var(--serif);font-size:30px;}
.cart-close{cursor:pointer;font-size:22px;color:var(--muted2);background:none;border:none;line-height:1;}
.cart-body{flex:1;overflow-y:auto;padding:8px 28px;}
.cart-empty{padding:60px 0;text-align:center;color:var(--muted2);font-size:15.5px;line-height:1.7;}
.cart-line{display:grid;grid-template-columns:64px 1fr auto;gap:14px;padding:18px 0;border-bottom:1px solid var(--border);align-items:center;}
.cart-line .thumb{aspect-ratio:1/1;background:var(--bg-alt);overflow:hidden;}
.cart-line .thumb img{width:100%;height:100%;object-fit:cover;}
.cart-line .name{font-size:15px;line-height:1.3;}
.cart-line .price{font-size:13px;color:var(--muted2);margin-top:4px;}
.cart-line .qty-row{display:flex;align-items:center;gap:10px;margin-top:8px;}
.qty-btn{cursor:pointer;border:1px solid var(--border3);width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:15px;background:#fff;padding:0;}
.qty-val{font-size:14px;min-width:16px;text-align:center;}
.cart-line .rm{cursor:pointer;font-size:12.5px;color:var(--accent);margin-left:6px;background:none;border:none;padding:0;}
.cart-line .sum{font-family:var(--serif);font-size:21px;}
.cart-foot{border-top:1px solid var(--border);padding:22px 28px 28px;background:var(--bg-alt);}
.cart-foot .row{display:flex;justify-content:space-between;font-size:14.5px;color:var(--muted);padding:5px 0;}
.cart-foot .row.total{font-size:20px;padding:12px 0 4px;border-top:1px solid var(--border2);margin-top:8px;color:var(--text);}
.cart-foot .row.total span:last-child{font-family:var(--serif);font-size:28px;}
.checkout-btn{cursor:pointer;background:var(--dark);color:var(--bg);padding:16px;border-radius:999px;text-align:center;font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;margin-top:16px;border:none;width:100%;}
.checkout-btn:hover{background:var(--accent);}
.checkout-btn:disabled{opacity:.5;cursor:not-allowed;}
.cart-legal{font-size:12px;color:var(--muted2);margin-top:12px;line-height:1.55;}

/* ---------- Cookie banner ---------- */
.cookie-banner{position:fixed;left:24px;bottom:24px;z-index:130;width:420px;max-width:calc(100vw - 48px);background:var(--dark);color:#EFE7DE;padding:26px 28px;animation:auraIn .3s ease;}
.cookie-banner .t{font-family:var(--serif);font-size:26px;margin-bottom:10px;}
.cookie-banner p{font-size:14px;line-height:1.65;opacity:.82;margin:0;}
.cookie-banner a{color:var(--accent-light);border-bottom:1px solid var(--accent-light);}
.cookie-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}

/* ---------- utility ---------- */
.skip-link{position:absolute;left:-999px;top:0;background:var(--dark);color:#fff;padding:12px 18px;z-index:200;}
.skip-link:focus{left:12px;top:12px;}

@media (max-width:900px){
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);flex-direction:column;gap:0;padding:10px 24px 20px;border-bottom:1px solid var(--border);}
  .main-nav.open{display:flex;}
  .main-nav a{padding:10px 0;border-bottom:1px solid var(--border);}
  .nav-toggle{display:block;}
  .site-header .inner{flex-wrap:wrap;position:relative;}
  .section-head h2,.page-head h1{font-size:38px;}
  .steps-section,.section-pad,section.band .inner{padding:48px 24px;}
}
@media (max-width:700px){
  .services-grid{grid-template-columns:1fr;}
  .booking-grid,.contact-grid{grid-template-columns:1fr;}
  .form-grid-2{grid-template-columns:1fr;}
  .cookie-banner{left:12px;right:12px;width:auto;bottom:12px;}
}
