/* ===== Frepon Pikas — self-hosted fonts ===== */
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-400-1.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-20C4,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-2.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:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-400-1.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-400-2.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:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-500-3.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-500-4.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:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-600-5.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-600-6.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:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-700-7.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-700-8.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:'Newsreader';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/newsreader-300-1.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/newsreader-300-2.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:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/newsreader-400-3.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/newsreader-400-4.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:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/newsreader-500-5.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/newsreader-500-6.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{
  --bg:#F6F3EE;--ink:#2B2A28;--ink-soft:#5E5A54;--ink-soft2:#4E4A44;--ink-soft3:#3E3B37;
  --muted:#8C877F;--muted2:#6E6A63;--muted3:#7A766F;--line:#E3DDD3;--line2:#E9E4DB;
  --border-btn:#CFC7BA;--border-in:#D6CFC3;--accent:#8A7A66;--dark:#2F2E2B;--dark-soft:#4A4844;
  --tan:#E9E2D7;--tan2:#DFD7CA;--cream:#EDE7DD;--white:#FFFFFF;--err:#A2452F;
  --serif:'Newsreader',Georgia,serif;--sans:'Manrope',system-ui,sans-serif;--mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.4}
a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--accent)}
button{cursor:pointer;font-family:inherit}
input,select,textarea{font-family:inherit}
img{display:block;max-width:100%}
.container{max-width:1240px;margin:0 auto;padding:0 24px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* topbar + header */
.topbar{background:var(--dark);color:var(--cream);font-size:12.5px;letter-spacing:.02em}
.topbar .container{padding:9px 24px;display:flex;gap:24px;justify-content:center;flex-wrap:wrap;text-align:center}
.topbar .sep{opacity:.5}
.site-header{position:sticky;top:0;z-index:40;background:rgba(246,243,238,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header .container{padding:16px 24px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.brand{display:flex;flex-direction:column;line-height:1;text-decoration:none}
.brand .name{font-family:var(--serif);font-size:28px;font-weight:400;letter-spacing:-.01em;color:var(--ink)}
.brand .sub{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:4px;letter-spacing:.08em}
.main-nav{display:flex;gap:22px;flex-wrap:wrap;font-size:14px;font-weight:500;flex:1}
.main-nav a{text-decoration:none;color:var(--ink)}
.main-nav a:hover,.main-nav a.active{color:var(--accent)}
.nav-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:2px;padding:9px 11px;font-size:13px}
.cart-btn{display:flex;align-items:center;gap:10px;background:var(--dark);color:#F7F4EF;border:none;border-radius:999px;padding:10px 18px;font-size:13.5px;font-weight:600}
.cart-badge{background:#E7DFD3;color:var(--dark);border-radius:999px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px;padding:0 6px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:2px;font-size:14px;font-weight:600;padding:15px 26px;border:none;text-decoration:none}
.btn-primary{background:var(--dark);color:#F7F4EF}
.btn-primary:hover{background:var(--dark-soft);color:#F7F4EF}
.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn-outline:hover{background:var(--cream)}
.btn-block{width:100%}
.btn-small{padding:11px;font-size:13px;width:100%;background:transparent;border:1px solid var(--border-btn);color:var(--ink);border-radius:2px;font-weight:600}
.btn-small:hover{background:var(--dark);color:#F7F4EF;border-color:var(--dark)}

/* hero */
.hero{padding:56px 24px 72px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:48px;align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:24px}
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;color:var(--accent)}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(44px,6vw,76px);line-height:1.02;letter-spacing:-.02em;margin:0;text-wrap:balance}
.hero p.lead{font-size:17px;line-height:1.65;color:var(--ink-soft);margin:0;max-width:520px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.trust-row{display:flex;gap:28px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-soft)}
.hero-media{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:260px 220px;gap:14px}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media .big{grid-row:span 2}

/* sections */
.section{padding:72px 24px}
.section.white{background:var(--white);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:32px}
.section-head h2{font-family:var(--serif);font-weight:400;font-size:40px;margin:0;letter-spacing:-.01em}
.section-head p{margin:0;color:var(--muted2);max-width:380px;font-size:15px;line-height:1.6}
.link-arrow{cursor:pointer;font-weight:600;font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:2px;text-decoration:none;color:var(--ink);white-space:nowrap}

/* rooms grid */
.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.room-card{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink)}
.room-card:hover{opacity:.85}
.room-card .ph{aspect-ratio:4/5;overflow:hidden}
.room-card .ph img{width:100%;height:100%;object-fit:cover}
.room-card .name{font-weight:600;font-size:15px}
.room-card .desc{font-size:13px;color:var(--muted3)}

/* product grid & card */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:28px 20px}
.product-grid.catalog{gap:32px 20px}
.product-card{display:flex;flex-direction:column;gap:12px}
.product-card .ph{position:relative;aspect-ratio:1/1;overflow:hidden;display:block}
.product-card .ph img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;top:12px;left:12px;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:11px;font-weight:600;padding:5px 9px;letter-spacing:.03em}
.product-card .meta{display:flex;flex-direction:column;gap:4px}
.product-card .cat{font-size:12px;color:var(--muted)}
.product-card .name{font-weight:600;font-size:15px;line-height:1.35;text-decoration:none;color:var(--ink)}
.product-card .short{font-size:13px;color:var(--muted2);line-height:1.5}
.price-row{display:flex;gap:10px;align-items:baseline;margin-top:2px}
.price{font-size:15px}
.price-old{font-size:13px;color:#9A958D;text-decoration:line-through}

/* lifestyle */
.lifestyle{background:var(--tan)}
.lifestyle .container{padding:80px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px;align-items:center}
.lifestyle .ph{aspect-ratio:5/4;overflow:hidden}
.lifestyle .ph img{width:100%;height:100%;object-fit:cover}
.lifestyle h2{font-family:var(--serif);font-weight:300;font-size:46px;line-height:1.08;margin:0;letter-spacing:-.015em;text-wrap:balance}
.lifestyle p.desc{margin:0;font-size:16px;line-height:1.7;color:var(--ink-soft2)}
.steps{display:grid;gap:18px}
.step{display:grid;grid-template-columns:44px 1fr;gap:12px}
.step .n{font-family:var(--serif);font-size:28px;color:var(--accent)}
.step .t{font-weight:600;margin-bottom:4px}
.step .d{font-size:14px;color:var(--ink-soft);line-height:1.6}

/* magazine cards */
.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.article-card{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--ink)}
.article-card:hover{opacity:.85}
.article-card .ph{aspect-ratio:3/2;overflow:hidden}
.article-card .ph img{width:100%;height:100%;object-fit:cover}
.article-meta{display:flex;gap:12px;font-size:12px;color:var(--muted)}
.article-meta .cat{font-weight:600;color:var(--accent)}
.article-card h3{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.2;margin:0;text-wrap:pretty}
.article-card p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink-soft)}

/* quiz cta band */
.quiz-cta-wrap{padding:40px 24px 80px}
.quiz-cta{background:var(--dark);color:#F2EDE5;padding:56px clamp(24px,5vw,64px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:32px;align-items:center}
.quiz-cta .eyebrow{color:#C9BBA6}
.quiz-cta h2{font-family:var(--serif);font-weight:300;font-size:42px;line-height:1.1;margin:0}
.quiz-cta p{margin:0;color:#C8C2B8;line-height:1.65;font-size:15.5px}
.quiz-cta .btn-primary{background:#E7DFD3;color:var(--dark);font-weight:700;padding:16px 28px}
.quiz-cta .btn-primary:hover{background:var(--bg)}
.quiz-cta .btn-wrap{display:flex;justify-content:flex-end}

/* trust strip */
.trust-strip{background:var(--white);border-top:1px solid var(--line2)}
.trust-strip .container{padding:56px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.trust-item{display:flex;flex-direction:column;gap:8px}
.trust-item .t{font-weight:700}
.trust-item .d{font-size:14px;color:var(--muted2);line-height:1.6}

/* newsletter */
.newsletter{background:var(--tan)}
.newsletter .container{padding:56px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:28px;align-items:center}
.newsletter h2{font-family:var(--serif);font-weight:400;font-size:34px;margin:0}
.newsletter p{margin:0;color:var(--ink-soft);font-size:15px;line-height:1.6}
.nl-form{display:flex;flex-direction:column;gap:10px}
.nl-row{display:flex;gap:8px;flex-wrap:wrap}
.nl-row input{flex:1;min-width:200px;padding:15px;border:1px solid var(--border-btn);background:#FBFAF8;font-size:15px}
.nl-row button{background:var(--dark);color:#F7F4EF;border:none;padding:15px 24px;font-size:14px;font-weight:600;border-radius:2px}
.nl-consent{font-size:12px;color:var(--muted2)}
.nl-sent{font-size:17px;font-weight:600}

/* footer */
.site-footer{background:var(--dark);color:#D9D3C9}
.footer-grid{max-width:1240px;margin:0 auto;padding:64px 24px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px}
.footer-col{display:flex;flex-direction:column;gap:12px}
.footer-col .brand-name{font-family:var(--serif);font-size:28px;color:var(--bg)}
.footer-col .addr{font-size:13.5px;line-height:1.7}
.footer-col .flabel{font-size:12px;font-weight:700;letter-spacing:.08em;color:#A79F93}
.footer-col a{font-size:14px;text-decoration:none;color:#D9D3C9}
.footer-col a:hover{color:#FFFFFF}
.footer-col.links{gap:10px}
.footer-bottom{max-width:1240px;margin:0 auto;padding:20px 24px 32px;border-top:1px solid #45433F;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:#A79F93}

/* breadcrumb */
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:16px}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--accent)}

/* page heading blocks */
.page-head{padding:48px 24px 0}
.page-head h1{font-family:var(--serif);font-weight:300;font-size:56px;margin:0 0 12px;letter-spacing:-.02em}
.page-head .intro{margin:0 0 36px;color:var(--ink-soft);max-width:620px;line-height:1.65}

/* catalog filters */
.filters{display:flex;flex-direction:column;gap:14px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:32px}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.filter-row .flabel{font-size:12px;font-weight:600;color:var(--muted);width:90px}
.chip{border:1px solid var(--border-btn);background:var(--white);color:var(--ink);padding:8px 14px;border-radius:999px;font-size:13px;font-weight:500}
.chip.active{background:var(--dark);color:#F7F4EF;border-color:var(--dark)}
.filter-result{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.filter-result .count{font-size:13.5px;color:var(--ink-soft)}
.sort-label{display:flex;gap:10px;align-items:center;font-size:13.5px}
.sort-label select{padding:8px 12px;border:1px solid var(--border-btn);background:var(--white);font-size:13.5px;border-radius:2px}
.empty-state{padding:60px 0;text-align:center;color:var(--muted2)}

/* product detail */
.product-detail{padding:40px 24px 72px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:56px}
.gallery{display:flex;flex-direction:column;gap:12px}
.gallery .main-ph{aspect-ratio:1/1;overflow:hidden}
.gallery .main-ph img{width:100%;height:100%;object-fit:cover}
.gallery .thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery .thumbs .thumb{aspect-ratio:1/1;overflow:hidden;position:relative}
.gallery .thumbs .thumb img{width:100%;height:100%;object-fit:cover}
.gallery .thumbs .thumb span{position:absolute;left:8px;bottom:8px;font-family:var(--mono);font-size:10px;color:#fff;background:rgba(43,42,40,.55);padding:3px 6px}
.product-info{display:flex;flex-direction:column;gap:22px}
.product-info .catroom{font-size:13px;color:var(--accent);font-weight:600}
.product-info h1{font-family:var(--serif);font-weight:400;font-size:44px;line-height:1.1;margin:0;letter-spacing:-.01em}
.price-main{display:flex;gap:14px;align-items:baseline}
.price-main .now{font-size:26px;font-weight:600}
.price-main .old{font-size:17px;color:#9A958D;text-decoration:line-through}
.price-main .vat{font-size:13px;color:var(--muted)}
.product-info .desc{margin:0;font-size:16px;line-height:1.7;color:var(--ink-soft2)}
.qty-row{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}
.qty-stepper{display:flex;border:1px solid var(--border-btn);background:var(--white)}
.qty-stepper button{width:44px;border:none;background:transparent;font-size:18px}
.qty-stepper .qty-val{width:44px;display:flex;align-items:center;justify-content:center;font-weight:600}
.add-btn{flex:1;min-width:200px;background:var(--dark);color:#F7F4EF;border:none;padding:16px 24px;border-radius:2px;font-size:14.5px;font-weight:600}
.add-btn:hover{background:var(--dark-soft)}
.info-box{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ink-soft2);background:var(--cream);padding:18px 20px}
.spec-table{display:grid;border-top:1px solid var(--line)}
.spec-row{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
.spec-row .k{color:var(--muted)}
.spec-row .v.mono{font-family:var(--mono);font-size:13px}
.related-head{font-family:var(--serif);font-weight:400;font-size:34px;margin:80px 0 28px}
.product-grid.small{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px 20px}
.mini-card{display:flex;flex-direction:column;gap:10px}
.mini-card .ph{aspect-ratio:1/1;overflow:hidden}
.mini-card .ph img{width:100%;height:100%;object-fit:cover}
.mini-card .name{cursor:pointer;font-weight:600;font-size:14.5px;text-decoration:none;color:var(--ink)}
.mini-card .row{display:flex;justify-content:space-between;align-items:center}
.mini-add{background:transparent;border:none;font-size:13px;font-weight:600;text-decoration:underline;color:var(--ink)}

/* blog */
.blog-feature{text-decoration:none;color:var(--ink);cursor:pointer;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px;align-items:center;padding-bottom:48px;border-bottom:1px solid var(--line);margin-bottom:48px}
.blog-feature:hover{opacity:.85}
.blog-feature .ph{aspect-ratio:16/10;overflow:hidden}
.blog-feature .ph img{width:100%;height:100%;object-fit:cover}
.blog-feature h2{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1.12;margin:0}
.blog-feature p{margin:0;font-size:16px;line-height:1.65;color:var(--ink-soft)}

/* article */
.article-page{max-width:780px;margin:0 auto;padding:48px 24px 40px}
.article-page h1{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5vw,54px);line-height:1.08;margin:0 0 20px;letter-spacing:-.015em;text-wrap:balance}
.article-page .lead{font-size:19px;line-height:1.65;color:var(--ink-soft2);margin:0 0 32px}
.article-page .hero-ph{aspect-ratio:16/9;overflow:hidden;margin-bottom:40px}
.article-page .hero-ph img{width:100%;height:100%;object-fit:cover}
.article-body-section{margin-bottom:32px}
.article-body-section h2{font-family:var(--serif);font-weight:400;font-size:28px;margin:0 0 12px}
.article-body-section p{margin:0;font-size:16.5px;line-height:1.8;color:var(--ink-soft3)}
.tip-box{background:var(--cream);padding:26px 28px;margin:12px 0 40px}
.tip-box .label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--accent);margin-bottom:10px}
.tip-box p{margin:0;font-size:16px;line-height:1.7}
.article-author{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}
.more-reading{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.more-card{display:flex;flex-direction:column;gap:10px;padding:22px;background:var(--white);border:1px solid var(--line2);text-decoration:none;color:var(--ink)}
.more-card:hover{border-color:#BDB3A5}
.more-card .cat{font-size:12px;font-weight:600;color:var(--accent)}
.more-card .t{font-family:var(--serif);font-size:22px;line-height:1.25}
.more-card .r{font-size:13px;color:var(--muted)}

/* quiz */
.quiz-wrap{max-width:880px;margin:0 auto;padding:56px 24px 88px}
.quiz-bars{display:flex;gap:6px;margin:20px 0 32px}
.quiz-bars .bar{flex:1;height:3px;background:var(--line)}
.quiz-bars .bar.active{background:var(--dark)}
.quiz-counter{font-size:13px;color:var(--muted);margin-bottom:10px}
.quiz-wrap h1{font-family:var(--serif);font-weight:300;font-size:46px;line-height:1.1;margin:0 0 32px}
.quiz-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:12px}
.quiz-opt{text-align:left;background:var(--white);border:1px solid #DDD6CA;padding:22px 24px;display:flex;flex-direction:column;gap:6px;border-radius:2px;color:var(--ink)}
.quiz-opt:hover{border-color:var(--dark)}
.quiz-opt .t{font-weight:700;font-size:16px}
.quiz-opt .d{font-size:13.5px;color:var(--muted2);line-height:1.5}
.quiz-back{margin-top:24px;background:transparent;border:none;font-size:14px;text-decoration:underline;color:var(--ink-soft);padding:0}
.quiz-result h1{font-family:var(--serif);font-weight:300;font-size:50px;line-height:1.08;margin:20px 0 18px}
.quiz-result .text{font-size:17px;line-height:1.7;color:var(--ink-soft2);margin:0 0 28px}
.steps-box{background:var(--cream);padding:24px 28px;margin-bottom:40px;display:flex;flex-direction:column;gap:10px}
.steps-box .lbl{font-weight:700}
.steps-box .step-line{font-size:15px;line-height:1.6}
.quiz-result h2{font-family:var(--serif);font-weight:400;font-size:30px;margin:0 0 20px}
.quiz-actions{display:flex;gap:12px;flex-wrap:wrap}

/* about */
.about-hero{padding:56px 24px 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:56px;align-items:center}
.about-hero .copy{display:flex;flex-direction:column;gap:22px}
.about-hero h1{font-family:var(--serif);font-weight:300;font-size:56px;line-height:1.05;margin:0;letter-spacing:-.02em}
.about-hero p{margin:0;font-size:16.5px;line-height:1.75;color:var(--ink-soft2)}
.about-hero .ph{aspect-ratio:4/5;overflow:hidden}
.about-hero .ph img{width:100%;height:100%;object-fit:cover}
.values{padding:40px 24px 88px}
.values h2{font-family:var(--serif);font-weight:400;font-size:38px;margin:0 0 32px}
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.value-card{background:var(--white);border:1px solid var(--line2);padding:28px;display:flex;flex-direction:column;gap:10px}
.value-card .t{font-family:var(--serif);font-size:24px}
.value-card .d{font-size:14.5px;line-height:1.65;color:var(--ink-soft)}

/* contact */
.contact-wrap{padding:56px 24px 88px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:48px}
.contact-info{display:flex;flex-direction:column;gap:28px}
.contact-block{display:grid;gap:6px}
.contact-block .flabel{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.06em}
.contact-block .big{font-size:18px}
.contact-block .small{font-size:14px;color:var(--muted2)}
.contact-block .addr{line-height:1.7}
.contact-map{aspect-ratio:16/9;overflow:hidden}
.contact-map img{width:100%;height:100%;object-fit:cover}
.contact-form-wrap{background:var(--white);border:1px solid var(--line2);padding:32px}
.contact-form-wrap .title{font-family:var(--serif);font-size:26px;display:block;margin-bottom:16px}
.form-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;margin-bottom:16px}
.form-field input,.form-field textarea{padding:13px;border:1px solid var(--border-in);font-size:15px;background:#FBFAF8;font-weight:400}
.form-field textarea{resize:vertical}
.form-checkbox{display:flex;gap:10px;font-size:13px;line-height:1.5;color:var(--ink-soft);margin-bottom:16px}
.sent-box{display:flex;flex-direction:column;gap:12px;padding:40px 0}
.sent-box .title{font-family:var(--serif);font-size:30px}
.sent-box .d{color:var(--ink-soft);line-height:1.6}

/* faq */
.faq-wrap{max-width:860px;margin:0 auto;padding:56px 24px 88px}
.faq-wrap h1{font-family:var(--serif);font-weight:300;font-size:56px;margin:0 0 12px;letter-spacing:-.02em}
.faq-wrap .intro{margin:0 0 40px;color:var(--ink-soft);line-height:1.65}
.faq-list{border-top:1px solid #DDD6CA}
.faq-item{border-bottom:1px solid #DDD6CA}
.faq-q{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:center;background:transparent;border:none;padding:22px 0;text-align:left;font-size:17px;font-weight:600;color:var(--ink)}
.faq-q .sign{font-size:22px;font-weight:300}
.faq-a{margin:0 0 22px;font-size:15.5px;line-height:1.7;color:var(--ink-soft2);display:none}
.faq-item.open .faq-a{display:block}

/* legal */
.legal-wrap{max-width:860px;margin:0 auto;padding:56px 24px 88px}
.legal-wrap h1{font-family:var(--serif);font-weight:300;font-size:50px;line-height:1.08;margin:0 0 12px;letter-spacing:-.015em}
.legal-date{font-size:13px;color:var(--muted);margin-bottom:28px}
.legal-wrap .intro{font-size:16.5px;line-height:1.75;color:var(--ink-soft3);margin:0 0 36px}
.legal-section{margin-bottom:30px}
.legal-section h2{font-family:var(--serif);font-weight:400;font-size:25px;margin:0 0 10px}
.legal-section p{margin:0 0 10px;font-size:15.5px;line-height:1.75;color:var(--ink-soft3)}
.legal-footer-box{background:var(--cream);padding:22px 26px;font-size:14px;line-height:1.7}

/* checkout */
.checkout-wrap{padding:48px 24px 88px}
.checkout-wrap h1{font-family:var(--serif);font-weight:300;font-size:50px;margin:0 0 32px;letter-spacing:-.015em}
.checkout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px;align-items:start}
.checkout-left{display:flex;flex-direction:column;gap:32px}
.checkout-step{display:flex;flex-direction:column;gap:14px}
.checkout-step .label{font-weight:700;font-size:16px}
.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.field-grid input,.checkout-step > input{padding:13px;border:1px solid var(--border-in);font-size:15px;background:var(--white)}
.opt-btn{display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;background:var(--white);border:1px solid var(--border-btn);padding:16px 18px;border-radius:2px;color:var(--ink);width:100%}
.opt-btn.active{border-color:var(--dark)}
.opt-btn .nm{display:flex;flex-direction:column;gap:3px}
.opt-btn .nm .n{font-weight:600}
.opt-btn .nm .note{font-size:13px;color:var(--muted2)}
.opt-btn .p{font-weight:600}
.summary-card{background:var(--white);border:1px solid var(--line2);padding:28px;display:flex;flex-direction:column;gap:16px;position:sticky;top:100px}
.summary-card .title{font-family:var(--serif);font-size:26px}
.cart-line{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.totals{border-top:1px solid var(--line2);padding-top:14px;display:grid;gap:8px;font-size:14px}
.totals .row{display:flex;justify-content:space-between}
.totals .grand{font-size:18px;font-weight:700;padding-top:8px}
.totals .vat{font-size:12px;color:var(--muted)}
.agree-row{display:flex;gap:10px;font-size:13px;line-height:1.55;color:var(--ink-soft2)}
.form-error{font-size:13px;color:var(--err)}

/* thanks */
.thanks-wrap{max-width:720px;margin:0 auto;padding:88px 24px;text-align:center;display:flex;flex-direction:column;gap:18px;align-items:center}
.thanks-wrap h1{font-family:var(--serif);font-weight:300;font-size:54px;margin:0}
.thanks-wrap p{margin:0;font-size:16.5px;line-height:1.7;color:var(--ink-soft2)}

/* cart drawer */
.cart-overlay{position:fixed;inset:0;z-index:60;display:none;justify-content:flex-end}
.cart-overlay.open{display:flex}
.cart-backdrop{position:absolute;inset:0;background:rgba(43,42,40,.35)}
.cart-aside{position:relative;width:min(440px,100%);height:100%;background:var(--bg);display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.08)}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}
.cart-head .t{font-family:var(--serif);font-size:26px}
.cart-close{background:transparent;border:none;font-size:14px;text-decoration:underline;color:var(--ink)}
.cart-free{padding:16px 24px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.cart-free .bar-track{height:4px;background:var(--line)}
.cart-free .bar-fill{height:4px;background:var(--dark);width:0%}
.cart-items{flex:1;overflow:auto;padding:8px 24px}
.cart-empty{padding:48px 0;text-align:center;color:var(--muted2)}
.cart-item{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-item .thumb{aspect-ratio:1/1;overflow:hidden;background:var(--line2)}
.cart-item .thumb img{width:100%;height:100%;object-fit:cover}
.cart-item .details{display:flex;flex-direction:column;gap:8px}
.cart-item .row1{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.cart-item .row2{display:flex;justify-content:space-between;align-items:center}
.cart-stepper{display:flex;border:1px solid var(--border-btn);background:var(--white)}
.cart-stepper button{width:30px;height:30px;border:none;background:transparent}
.cart-stepper .q{width:30px;display:flex;align-items:center;justify-content:center;font-size:13px}
.cart-remove{background:transparent;border:none;font-size:12.5px;color:var(--muted3);text-decoration:underline}
.cart-foot{padding:20px 24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px;background:var(--white)}
.cart-foot .sub{display:flex;justify-content:space-between;font-size:16px;font-weight:700}
.cart-foot .note{font-size:12px;color:var(--muted)}

/* cookie banner */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;display:none;justify-content:center}
.cookie-banner.show{display:flex}
.cookie-panel{width:min(760px,100%);background:var(--white);border:1px solid var(--line);box-shadow:0 20px 50px rgba(43,42,40,.15);padding:24px 26px;display:flex;flex-direction:column;gap:16px}
.cookie-panel .title{font-family:var(--serif);font-size:22px}
.cookie-panel .text{font-size:13.5px;line-height:1.6;color:var(--ink-soft2)}
.cookie-settings{display:none;gap:10px;font-size:13.5px;background:var(--bg);padding:16px;flex-direction:column}
.cookie-settings.show{display:flex}
.cookie-settings label{display:flex;gap:10px;align-items:center}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cookie-settings-btn{background:transparent;border:none;font-size:13.5px;text-decoration:underline;color:var(--ink);margin-right:auto}
.cookie-reject{background:transparent;border:1px solid var(--dark);padding:12px 18px;font-size:13.5px;font-weight:600;color:var(--dark);border-radius:2px}
.cookie-accept{background:var(--dark);color:#F7F4EF;border:none;padding:12px 18px;font-size:13.5px;font-weight:600;border-radius:2px}

@media (max-width:720px){
  .main-nav{display:none}
  .main-nav.open{display:flex;flex-direction:column;width:100%;order:3;gap:14px;padding-top:14px;border-top:1px solid var(--line);margin-top:10px}
  .nav-toggle{display:inline-flex}
  .site-header .container{position:relative}
}
