/*
Theme Name: AstLogic
Theme URI: https://astlogic.jp
Author: AstLogic
Author URI: https://astlogic.jp
Description: AstLogic - シルバー925 × 備長炭のラグジュアリーリングブランド公式テーマ
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: astlogic
*/

/* ================================================================
   Design Tokens
   ================================================================ */
:root {
  --ink-900:#0A0A0A; --ink-800:#141414; --ink-700:#1C1C1A; --ink-600:#3A3A38;
  --ink-500:#6B6A66; --ink-400:#8E8C87; --ink-300:#B6B3AD; --ink-200:#D8D5CF; --ink-100:#E7E4DE;
  --paper-000:#FFFFFF; --paper-050:#FAF9F7; --paper-100:#F4F3F0; --paper-150:#ECEAE5;
  --silver-light:#D9D9DA; --silver-mid:#A8A8AB; --silver-dark:#6E6E72;
  --sold-out:#9A9893;
  --text-on-dark:#F2F1EE; --text-on-dark-s:rgba(242,241,238,0.70); --text-on-dark-m:rgba(242,241,238,0.48);
  --line-on-dark:rgba(242,241,238,0.22);
  --scrim-full:linear-gradient(180deg,rgba(10,10,10,0.20) 0%,rgba(10,10,10,0.50) 100%);
  --gutter:clamp(20px,5vw,80px);
  --section-y:clamp(64px,9vw,160px);
  --header-h:88px;
  --ease-out:cubic-bezier(0.22,1,0.36,1);
  --dur-fast:240ms; --dur-base:480ms; --dur-reveal:1200ms;
}

/* ================================================================
   Reset & Base
   ================================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper-050);color:var(--ink-700);font-family:'Shippori Mincho','EB Garamond',serif;font-size:1rem;line-height:1.7;letter-spacing:0.08em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
::selection{background:var(--ink-900);color:var(--paper-000)}
h1,h2,h3,h4{font-family:'Cormorant Garamond','Shippori Mincho',serif;font-weight:400;letter-spacing:0.04em;line-height:1.12;margin:0}
ul{list-style:none;margin:0;padding:0}
p{margin:0}
input,textarea{font-family:inherit}

/* ================================================================
   Utility
   ================================================================ */
.site-width{max-width:1440px;margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--section-y) 0}
.section .site-width{padding:0 var(--gutter)}

.font-display{font-family:'Cormorant Garamond','Shippori Mincho',serif}
.font-serif{font-family:'EB Garamond','Shippori Mincho',serif}
.font-jp{font-family:'Shippori Mincho','EB Garamond',serif}
.font-logo{font-family:'Cinzel','Cormorant Garamond',serif}

.label-sm{font-family:'EB Garamond','Shippori Mincho',serif;font-size:0.6875rem;letter-spacing:0.28em;text-transform:uppercase}
.label-xs{font-family:'EB Garamond',serif;font-size:0.6875rem;letter-spacing:0.34em;text-transform:uppercase}

/* ================================================================
   Scroll Reveal
   ================================================================ */
.reveal{opacity:0;transform:translateY(20px);transition:opacity 900ms var(--ease-out),transform 900ms var(--ease-out)}
.reveal.is-visible{opacity:1;transform:none}

/* ================================================================
   Header
   ================================================================ */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--gutter);height:var(--header-h);background:var(--paper-000);border-bottom:1px solid var(--ink-100);color:var(--ink-700);position:relative;z-index:100}
.site-header--transparent{background:transparent;border-bottom:none;position:absolute;top:0;left:0;right:0;z-index:100}
.site-header__logo{line-height:1;flex-shrink:0}
.site-header__logo-text{font-family:'Cinzel','Cormorant Garamond',serif;letter-spacing:0.32em;text-transform:uppercase;font-size:1.35rem;color:inherit}
.site-header__logo-sub{font-family:'EB Garamond',serif;letter-spacing:0.4em;font-size:0.6rem;text-align:center;margin-top:4px;opacity:0.8}
.site-header__nav{display:flex;gap:clamp(16px,2vw,40px)}
.site-header__nav a{font-family:'EB Garamond',serif;font-size:0.6875rem;letter-spacing:0.18em;text-transform:uppercase;padding-bottom:4px;border-bottom:1px solid transparent;opacity:0.82;transition:opacity 240ms var(--ease-out);white-space:nowrap}
.site-header__nav a:hover,.site-header__nav a.is-active{opacity:1;border-bottom-color:currentColor}
.site-header__actions{display:flex;align-items:center;gap:20px;flex-shrink:0}

/* Hamburger */
.hamburger{background:none;border:none;padding:0;display:inline-flex;color:inherit;cursor:pointer}
.hamburger svg line{transition:all 300ms var(--ease-out)}

/* Mobile menu overlay */
.mobile-menu{position:fixed;inset:0;z-index:200;background:var(--ink-900);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 480ms var(--ease-out)}
.mobile-menu.is-open{opacity:1;pointer-events:all}
.mobile-menu__close{position:absolute;top:26px;right:var(--gutter);background:none;border:none;color:var(--text-on-dark);cursor:pointer}
.mobile-menu__logo{font-family:'Cinzel',serif;letter-spacing:0.32em;text-transform:uppercase;font-size:1.2rem;color:var(--text-on-dark);margin-bottom:48px;opacity:0.6}
.mobile-menu__nav{display:flex;flex-direction:column;align-items:center;gap:32px}
.mobile-menu__nav a{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,5vw,40px);letter-spacing:0.14em;text-transform:uppercase;color:var(--text-on-dark-s);padding-bottom:4px}
.mobile-menu__nav a:hover,.mobile-menu__nav a.is-active{color:var(--text-on-dark);border-bottom:1px solid var(--text-on-dark)}
.mobile-menu__social{position:absolute;bottom:40px;display:flex;gap:24px;font-family:'EB Garamond',serif;font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--text-on-dark-m)}

/* ================================================================
   Hero (Homepage)
   ================================================================ */
.hero{position:relative;min-height:92vh;background:var(--paper-050);overflow:hidden;display:flex;align-items:center}
.hero__image{position:absolute;top:0;right:0;height:100%;width:48%;object-fit:cover}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,var(--paper-050) 0%,var(--paper-050) 52%,rgba(250,249,247,0.4) 62%,rgba(250,249,247,0) 75%)}
.hero__content{position:relative;max-width:1440px;margin:0 auto;width:100%;padding:0 var(--gutter)}
.hero__title{font-family:'Shippori Mincho',serif;font-weight:500;font-size:clamp(34px,5vw,60px);line-height:1.5;letter-spacing:0.12em;color:var(--ink-700);margin:0}
.hero__lead{font-family:'Shippori Mincho',serif;font-size:1rem;line-height:2;letter-spacing:0.08em;color:var(--ink-500);margin-top:24px;max-width:440px}
.hero__scroll{position:absolute;left:var(--gutter);bottom:48px;display:flex;align-items:center;gap:14px;writing-mode:vertical-rl;font-family:'EB Garamond',serif;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:var(--ink-400)}
.hero__scroll-line{writing-mode:horizontal-tb;width:1px;height:48px;background:var(--ink-300)}

/* ================================================================
   Page Hero (inner pages)
   ================================================================ */
.page-hero{position:relative;min-height:380px;display:flex;align-items:center;background:#0a0a0a;overflow:hidden}
.page-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.62}
.page-hero__scrim{position:absolute;inset:0;background:var(--scrim-full)}
.page-hero__content{position:relative;max-width:1440px;margin:0 auto;width:100%;padding:64px var(--gutter)}
.page-hero__title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.25rem,4vw,3.25rem);letter-spacing:0.1em;text-transform:uppercase;color:var(--text-on-dark);margin:0}
.page-hero__title-ja{font-family:'Shippori Mincho',serif;font-size:0.875rem;letter-spacing:0.18em;color:var(--text-on-dark-s);margin-top:12px}
.page-hero__lead{font-family:'Shippori Mincho',serif;font-size:1rem;line-height:2;letter-spacing:0.08em;color:var(--text-on-dark-s);margin-top:24px;max-width:600px}

/* ================================================================
   Section headers
   ================================================================ */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(28px,3.5vw,48px);gap:24px}
.section-head--center{text-align:center;justify-content:center;display:block}
.section-label{font-family:'EB Garamond','Shippori Mincho',serif;font-size:0.8125rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--ink-700);white-space:nowrap}
.section-label--light{color:var(--text-on-dark)}
.section-label--rule{display:flex;align-items:center;gap:24px}
.section-label--rule::after{content:'';flex:1;height:1px;background:var(--ink-100)}
.section-sub{font-family:'Shippori Mincho',serif;font-size:0.875rem;letter-spacing:0.08em;color:var(--ink-500);margin-top:10px}
.view-all{font-family:'EB Garamond',serif;font-size:0.6875rem;letter-spacing:0.34em;text-transform:uppercase;color:var(--ink-700);display:inline-flex;align-items:center;gap:10px;white-space:nowrap;flex-shrink:0}

/* ================================================================
   News bar
   ================================================================ */
.news-bar{background:var(--ink-900);color:var(--text-on-dark)}
.news-bar__inner{max-width:1440px;margin:0 auto;padding:clamp(40px,6vw,72px) var(--gutter)}
.news-bar__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(32px,5vw,88px)}
.news-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.news-item{border-top:1px solid var(--line-on-dark);padding-top:16px}
.news-item__date{font-family:'EB Garamond',serif;font-size:11px;letter-spacing:0.1em;color:var(--text-on-dark-m)}
.news-item__title{font-family:'Shippori Mincho',serif;font-size:13px;line-height:1.7;margin-top:10px}
.event-aside{border-left:1px solid var(--line-on-dark);padding-left:clamp(24px,3vw,52px)}
.event-title{font-family:'Cormorant Garamond',serif;font-size:24px;letter-spacing:0.04em;color:var(--text-on-dark);margin-top:20px;line-height:1.3}
.event-date{font-family:'EB Garamond',serif;font-size:13px;color:var(--text-on-dark-s);margin-top:16px}
.event-venue{font-family:'Shippori Mincho',serif;font-size:13px;color:var(--text-on-dark-s);margin-top:6px}

/* ================================================================
   Product Card
   ================================================================ */
.product-card{display:block;color:inherit}
.product-card__image{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#fff}
.product-card__image img{width:100%;height:100%;object-fit:contain;padding:8%;transition:transform var(--dur-reveal) var(--ease-out)}
.product-card:hover .product-card__image img{transform:scale(1.045)}
.product-card__info{padding-top:18px}
.product-card__name{font-family:'Cormorant Garamond',serif;font-size:1.15rem;letter-spacing:0.03em;color:var(--ink-700);line-height:1.2}
.product-card__name-ja{font-family:'Shippori Mincho',serif;font-size:0.75rem;letter-spacing:0.08em;color:var(--ink-400);margin-top:6px}
.product-card__material{font-family:'EB Garamond',serif;font-size:0.6875rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-400);margin-top:12px}
.product-card__price{font-family:'EB Garamond',serif;font-size:0.875rem;letter-spacing:0.04em;color:var(--ink-500);margin-top:8px}

/* Product grid */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,40px)}
.product-grid--4col{grid-template-columns:repeat(4,1fr);gap:clamp(18px,2vw,36px)}

/* ================================================================
   Collection grid
   ================================================================ */
.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,24px)}
.collection-card{text-align:center}
.collection-card__image{aspect-ratio:4/3;overflow:hidden;background:#fff}
.collection-card__image img{width:100%;height:100%;object-fit:contain;padding:6%}
.collection-card__label{font-family:'EB Garamond',serif;font-size:13px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-700);margin-top:16px}
.collection-card__divider{width:20px;height:1px;background:var(--ink-300);margin:10px auto 0}

/* Collection overlay cards */
.collection-overlay-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.8vw,26px)}
.collection-overlay{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:var(--paper-100)}
.collection-overlay img{width:100%;height:100%;object-fit:cover}
.collection-overlay__scrim{position:absolute;inset:0;background:var(--scrim-full)}
.collection-overlay__info{position:absolute;bottom:0;left:0;right:0;padding:28px 32px;color:var(--text-on-dark)}
.collection-overlay__label{font-family:'EB Garamond',serif;font-size:18px;letter-spacing:0.22em;text-transform:uppercase}
.collection-overlay__ja{font-family:'Shippori Mincho',serif;font-size:12px;letter-spacing:0.12em;color:var(--text-on-dark-s);margin-top:6px}
.collection-overlay__link{font-family:'EB Garamond',serif;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;margin-top:12px;display:inline-flex;gap:8px}

/* Category filter */
.category-filter{border-bottom:1px solid var(--ink-100);background:var(--paper-050);overflow-x:auto}
.category-filter__inner{max-width:1440px;margin:0 auto;padding:18px var(--gutter);display:flex;align-items:center;gap:clamp(12px,2vw,32px);min-width:max-content}
.category-filter__label{font-family:'EB Garamond',serif;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-400);margin-right:4px;flex-shrink:0}
.category-filter button{background:none;border:none;padding:4px 0;font-family:'EB Garamond',serif;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-400);border-bottom:1px solid transparent;white-space:nowrap;flex-shrink:0;cursor:pointer}
.category-filter button:hover,.category-filter button.is-active{color:var(--ink-700);border-bottom-color:var(--ink-700)}

/* ================================================================
   Archive Card
   ================================================================ */
.archive-card{display:block;color:inherit}
.archive-card__image{width:100%;aspect-ratio:1/1;overflow:hidden;background:#fff}
.archive-card__image img{width:100%;height:100%;object-fit:contain;padding:8%;transition:transform var(--dur-reveal) var(--ease-out)}
.archive-card:hover .archive-card__image img{transform:scale(1.04)}
.archive-card__info{padding-top:16px}
.archive-card__no{font-family:'EB Garamond',serif;font-size:0.6875rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-400)}
.archive-card__title{font-family:'Cormorant Garamond',serif;font-size:1.05rem;letter-spacing:0.03em;color:var(--ink-700);margin-top:6px;line-height:1.25}
.archive-card__year{font-family:'EB Garamond',serif;font-size:0.875rem;color:var(--ink-500);margin-top:8px}
.archive-card__material{font-family:'EB Garamond',serif;font-size:0.6875rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-400);margin-top:6px}
.archive-card__sold{font-family:'EB Garamond',serif;font-size:0.6875rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--sold-out);margin-top:12px}

/* ================================================================
   Three-panel CTA (Story / Craft / Journal)
   ================================================================ */
.three-panel{display:grid;grid-template-columns:repeat(3,1fr)}
.three-panel__item{position:relative;min-height:360px;display:flex;align-items:flex-end;overflow:hidden;background:#0a0a0a;color:var(--text-on-dark)}
.three-panel__item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.55;transition:opacity var(--dur-base) var(--ease-out)}
.three-panel__item:hover img{opacity:0.7}
.three-panel__scrim{position:absolute;inset:0;background:var(--scrim-full)}
.three-panel__content{position:relative;padding:40px 36px}
.three-panel__label{font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:0.14em;text-transform:uppercase}
.three-panel__body{font-family:'Shippori Mincho',serif;font-size:12.5px;line-height:1.9;color:var(--text-on-dark-s);margin-top:12px}
.three-panel__link{font-family:'EB Garamond',serif;font-size:10px;letter-spacing:0.24em;text-transform:uppercase;margin-top:18px;display:inline-flex;gap:10px}

/* ================================================================
   Instagram section
   ================================================================ */
.instagram-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.instagram-grid__item{aspect-ratio:1/1;overflow:hidden;background:#fff}
.instagram-grid__item img{width:100%;height:100%;object-fit:contain;padding:6%}

/* ================================================================
   Product Detail
   ================================================================ */
.product-detail{background:var(--paper-000)}
.product-detail__inner{max-width:1440px;margin:0 auto;padding:24px var(--gutter) clamp(56px,7vw,100px)}
.product-detail__breadcrumb{font-family:'EB Garamond',serif;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-400);margin-bottom:32px}
.product-detail__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(36px,5vw,72px);align-items:start}
.product-detail__gallery-main{aspect-ratio:1/1;background:#fff;overflow:hidden}
.product-detail__gallery-main img{width:100%;height:100%;object-fit:contain;padding:6%}
.product-detail__gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.product-detail__gallery-thumb{aspect-ratio:1/1;background:#fff;overflow:hidden;cursor:pointer;opacity:0.6;transition:opacity 240ms}
.product-detail__gallery-thumb:hover,.product-detail__gallery-thumb.is-active{opacity:1}
.product-detail__gallery-thumb img{width:100%;height:100%;object-fit:contain;padding:6%}
.product-detail__name{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(28px,3.2vw,42px);letter-spacing:0.03em}
.product-detail__name-ja{font-family:'Shippori Mincho',serif;font-size:12px;letter-spacing:0.12em;color:var(--ink-400);margin-top:8px}
.product-detail__price{font-family:'EB Garamond',serif;font-size:1.25rem;letter-spacing:0.04em;color:var(--ink-500);margin-top:20px}
.product-detail__price span{font-size:12px;color:var(--ink-400)}
.product-detail__section{border-top:1px solid var(--ink-100);margin-top:28px;padding-top:24px}
.product-detail__section-label{font-family:'EB Garamond',serif;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-400);margin-bottom:12px}
.product-detail__description{font-family:'Shippori Mincho',serif;font-size:13.5px;line-height:2;color:var(--ink-500);margin-top:16px}

/* Size selector */
.size-selector{display:flex;gap:10px}
.size-selector button{background:none;border:1px solid var(--ink-200);padding:8px 14px;font-family:'EB Garamond',serif;font-size:13px;letter-spacing:0.08em;color:var(--ink-400);cursor:pointer}
.size-selector button:hover,.size-selector button.is-active{border-color:var(--ink-700);color:var(--ink-700)}

/* Quantity */
.quantity{display:flex;align-items:center;gap:16px;margin-top:24px}
.quantity__label{font-family:'EB Garamond',serif;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-400)}
.quantity__controls{display:flex;align-items:center;border:1px solid var(--ink-200)}
.quantity__controls button{background:none;border:none;padding:10px 14px;font-family:'EB Garamond',serif;font-size:16px;color:var(--ink-500);cursor:pointer}
.quantity__controls span{font-family:'EB Garamond',serif;font-size:14px;min-width:24px;text-align:center}

/* ================================================================
   Buttons
   ================================================================ */
.btn{font-family:'EB Garamond',serif;font-size:0.8125rem;letter-spacing:0.28em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:17px 30px;border:1px solid transparent;border-radius:2px;line-height:1;white-space:nowrap;transition:all var(--dur-base) var(--ease-out);cursor:pointer}
.btn--primary{background:var(--ink-900);color:var(--paper-000);border-color:var(--ink-900)}
.btn--primary:hover{opacity:0.82}
.btn--secondary{background:transparent;color:var(--ink-700);border-color:var(--ink-200)}
.btn--secondary:hover{border-color:var(--ink-700)}
.btn--text{background:transparent;color:var(--ink-700);border-color:transparent;padding:0}
.btn--text:hover{opacity:0.55}
.btn--full{display:flex;width:100%}
.btn--lg{padding:22px 40px}
.btn--sm{padding:12px 22px}

/* ================================================================
   Tag
   ================================================================ */
.tag{font-family:'EB Garamond',serif;font-size:0.5625rem;letter-spacing:0.2em;text-transform:uppercase;line-height:1;padding:5px 10px;display:inline-block}
.tag--outline{border:1px solid var(--ink-200);color:var(--ink-500)}
.tag--filled{background:var(--ink-900);color:var(--paper-000)}

/* ================================================================
   Input
   ================================================================ */
.form-group{margin-bottom:16px}
.form-label{font-family:'Shippori Mincho',serif;font-size:0.75rem;letter-spacing:0.08em;color:var(--ink-400);margin-bottom:8px}
.form-input,.form-textarea{font-family:'Shippori Mincho',serif;font-size:0.875rem;letter-spacing:0.04em;color:var(--ink-700);background:var(--paper-150);border:1px solid var(--ink-100);border-radius:2px;padding:14px 16px;width:100%;outline:none;resize:none}
.form-textarea{resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* ================================================================
   About page bands
   ================================================================ */
.band{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.band__image{background:#0a0a0a;min-height:400px}
.band__image img{width:100%;height:100%;object-fit:cover}
.band__content{display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,5vw,80px) var(--gutter)}
.band--reverse .band__image{order:2}
.band--reverse .band__content{order:1}

/* ================================================================
   Craftsmanship process
   ================================================================ */
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,52px)}
.process-card__header{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.process-card__number{font-family:'Cormorant Garamond',serif;font-size:20px;letter-spacing:0.04em;color:var(--ink-400)}
.process-card__title{font-family:'Shippori Mincho',serif;font-size:15px;font-weight:500;color:var(--ink-700)}
.process-card__image{aspect-ratio:3/2;overflow:hidden;background:var(--paper-100)}
.process-card__image img{width:100%;height:100%;object-fit:cover}
.process-card__desc{font-family:'Shippori Mincho',serif;font-size:12.5px;line-height:1.9;color:var(--ink-500);margin-top:14px}

/* ================================================================
   Journal
   ================================================================ */
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,48px) clamp(16px,2vw,36px)}
.journal-card__image{aspect-ratio:3/2;overflow:hidden;background:var(--paper-100)}
.journal-card__image img{width:100%;height:100%;object-fit:cover}
.journal-card__meta{display:flex;gap:14px;align-items:center;margin-top:16px}
.journal-card__title{font-family:'Shippori Mincho',serif;font-size:15px;line-height:1.7;color:var(--ink-700);margin-top:12px}

/* ================================================================
   Contact
   ================================================================ */
.contact-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,20px)}
.contact-category{background:var(--paper-050);padding:clamp(22px,2.4vw,32px) clamp(18px,2vw,26px);text-align:center;border:1px solid var(--ink-100);height:100%}
.contact-category__icon{margin:0 auto 18px}
.contact-category__title{font-family:'Shippori Mincho',serif;font-size:14px;font-weight:500}
.contact-category__desc{font-family:'Shippori Mincho',serif;font-size:12px;line-height:1.9;color:var(--ink-500);margin-top:12px}
.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(36px,6vw,80px)}
.contact-sidebar{border-left:1px solid var(--ink-100);padding-left:clamp(24px,3vw,48px)}
.contact-info__item{margin-bottom:26px}
.contact-info__label{font-family:'Shippori Mincho',serif;font-size:12px;color:var(--ink-400)}
.contact-info__value{font-family:'EB Garamond',serif;font-size:15px;letter-spacing:0.04em;color:var(--ink-700);margin-top:7px}

/* ================================================================
   Material page
   ================================================================ */
.material-item{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:center;margin-bottom:clamp(36px,5vw,72px)}
.material-item:nth-child(even) .material-item__image{order:2}
.material-item:nth-child(even) .material-item__content{order:1}
.material-item__image{aspect-ratio:4/3;overflow:hidden;background:var(--paper-100)}
.material-item__image img{width:100%;height:100%;object-fit:cover}
.material-item__number{font-family:'EB Garamond',serif;font-size:11px;letter-spacing:0.22em;color:var(--ink-400)}
.material-item__code{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(26px,3vw,38px);letter-spacing:0.04em;margin:14px 0 0}
.material-item__name{font-family:'Shippori Mincho',serif;font-size:13px;letter-spacing:0.16em;color:var(--ink-500);margin-top:8px}
.material-item__desc{font-family:'Shippori Mincho',serif;font-size:14px;line-height:2;color:var(--ink-500);margin-top:20px;max-width:420px}

/* ================================================================
   Archive sidebar
   ================================================================ */
.archive-layout{display:grid;grid-template-columns:180px 1fr;gap:clamp(28px,4vw,56px);align-items:start}
.archive-sidebar__group{margin-bottom:36px}
.archive-sidebar__head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.archive-sidebar__head span{font-family:'EB Garamond',serif;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-700)}
.archive-sidebar__head::after{content:'';flex:1;height:1px;background:var(--ink-100)}
.archive-sidebar li{margin-bottom:11px}
.archive-sidebar li a,.archive-sidebar li span{font-family:'EB Garamond',serif;font-size:12px;letter-spacing:0.08em;color:var(--ink-500)}
.archive-sidebar__note{border:1px solid var(--ink-100);padding:20px}
.archive-sidebar__note-head{font-family:'EB Garamond',serif;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-400);margin-bottom:10px}
.archive-sidebar__note p{font-family:'Shippori Mincho',serif;font-size:11.5px;line-height:1.95;color:var(--ink-500);margin:0}
.archive-count{font-family:'EB Garamond',serif;font-size:12px;letter-spacing:0.1em;color:var(--ink-500)}
.archive-sort{font-family:'Shippori Mincho',serif;font-size:13px;color:var(--ink-500)}
.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,1.8vw,28px)}

/* Pagination */
.pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:48px;font-family:'EB Garamond',serif;font-size:13px;letter-spacing:0.12em;color:var(--ink-500)}
.pagination .is-active{color:var(--ink-700);border-bottom:1px solid var(--ink-700);padding-bottom:3px}
.pagination__next{margin-left:8px;text-transform:uppercase;letter-spacing:0.2em;display:inline-flex;gap:8px}

/* ================================================================
   Footer
   ================================================================ */
.site-footer{background:var(--paper-050);color:var(--ink-700);border-top:1px solid var(--ink-100)}
.site-footer__inner{max-width:1440px;margin:0 auto;padding:clamp(48px,6vw,80px) var(--gutter)}
.site-footer__grid{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(3,1fr);gap:clamp(32px,4vw,64px)}
.site-footer__brand-name{font-family:'Cinzel',serif;letter-spacing:0.32em;text-transform:uppercase;font-size:1.3rem}
.site-footer__brand-sub{font-family:'EB Garamond',serif;letter-spacing:0.4em;font-size:0.6rem;margin-top:4px;opacity:0.75}
.site-footer__tagline{font-family:'Shippori Mincho',serif;font-size:0.875rem;color:var(--ink-500);line-height:1.9;margin-top:24px}
.site-footer__social{display:flex;gap:18px;margin-top:28px;color:var(--ink-700)}
.site-footer__social a{color:inherit}
.site-footer__links{grid-column:2/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px)}
.site-footer__col-head{font-family:'EB Garamond',serif;font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:var(--ink-700);margin-bottom:18px}
.site-footer__col li{margin-bottom:12px}
.site-footer__col a{font-family:'Shippori Mincho',serif;font-size:0.875rem;color:var(--ink-500)}
.site-footer__bottom{border-top:1px solid var(--ink-100);padding:20px var(--gutter);text-align:center}
.site-footer__copyright{font-family:'EB Garamond',serif;font-size:0.75rem;letter-spacing:0.1em;color:var(--ink-500)}

/* ================================================================
   Craft split
   ================================================================ */
.craft-split{display:grid;grid-template-columns:1fr 1.4fr}
.craft-split__text{background:var(--paper-100);padding:clamp(36px,5vw,64px);display:flex;flex-direction:column;justify-content:center}
.craft-split__image{min-height:380px;background:#0a0a0a}
.craft-split__image img{width:100%;height:100%;object-fit:cover}

/* About dark section */
.about-dark{background:#0a0a0a;color:var(--text-on-dark)}
.about-dark__grid{display:grid;grid-template-columns:1fr 1fr}
.about-dark__text{padding:clamp(40px,5vw,80px) var(--gutter)}
.about-dark__image{min-height:420px;display:flex;align-items:center;justify-content:center;padding:clamp(20px,3vw,48px)}
.about-dark__image img{width:100%;max-width:400px}

/* ================================================================
   Archive detail
   ================================================================ */
.archive-detail__specs{border-top:1px solid var(--ink-100);margin-top:26px}
.archive-detail__spec{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--ink-100)}
.archive-detail__spec-key{font-family:'EB Garamond',serif;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-400)}
.archive-detail__spec-value{font-family:'Shippori Mincho',serif;font-size:13px;color:var(--ink-700)}
.archive-detail__comment{margin-top:28px;background:var(--paper-100);padding:24px}
.archive-detail__comment p{font-family:'Shippori Mincho',serif;font-size:13px;line-height:2;color:var(--ink-500);margin-top:14px}
.archive-detail__comment-author{font-family:'EB Garamond',serif;font-size:11px;letter-spacing:0.1em;color:var(--ink-400);margin-top:12px}

/* ================================================================
   WP specific: admin bar fix
   ================================================================ */
body.admin-bar .site-header{top:32px}
body.admin-bar .site-header--transparent{top:32px}

/* ================================================================
   Placeholder product image (for easy swap)
   ================================================================ */
.placeholder-img{background:var(--paper-100);display:flex;align-items:center;justify-content:center;color:var(--ink-300);font-family:'EB Garamond',serif;font-size:12px;letter-spacing:0.1em}

/* ================================================================
   Responsive
   ================================================================ */
@media(max-width:1023px){
  .site-header__nav{display:none}
  .site-header{height:64px;padding:0 20px}
  .hero{min-height:100svh}
  .hero__image{width:100%}
  .hero__overlay{background:linear-gradient(180deg,rgba(250,249,247,0.95) 0%,rgba(250,249,247,0.85) 40%,rgba(250,249,247,0.4) 70%,var(--paper-050) 100%)}
  .hero__title{font-size:1.7rem;max-width:70%}
  .hero__lead{font-size:13px;max-width:65%}
  .hero__content{margin-top:60px}
  .hero__scroll{display:none}
  .news-bar__grid{grid-template-columns:1fr}
  .news-list{grid-template-columns:1fr;gap:24px}
  .event-aside{display:none}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:20px 16px}
  .product-grid--4col{grid-template-columns:repeat(2,1fr);gap:24px 16px}
  .collection-grid{grid-template-columns:repeat(2,1fr);gap:16px 12px}
  .collection-overlay-grid{grid-template-columns:1fr}
  .three-panel{grid-template-columns:1fr}
  .three-panel__item{min-height:260px}
  .instagram-grid{grid-template-columns:repeat(4,1fr);gap:6px}
  .product-detail__grid{grid-template-columns:1fr;gap:32px}
  .band{grid-template-columns:1fr}
  .band__image{min-height:240px;order:1 !important}
  .band__content{order:2 !important}
  .process-grid{grid-template-columns:1fr;gap:40px}
  .journal-grid{grid-template-columns:1fr;gap:28px}
  .contact-categories{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr;gap:40px}
  .contact-sidebar{border-left:none;padding-left:0;border-top:1px solid var(--ink-100);padding-top:32px}
  .material-item{grid-template-columns:1fr;gap:24px}
  .material-item__image{order:1 !important}
  .material-item__content{order:2 !important}
  .archive-layout{grid-template-columns:1fr}
  .archive-layout aside{display:none}
  .archive-grid{grid-template-columns:repeat(2,1fr);gap:24px 14px}
  .page-hero{min-height:260px}
  .page-hero__content{padding:48px 24px}
  .page-hero__lead{display:none}
  .section{padding:clamp(40px,8vw,64px) 0}
  .site-width{padding:0 20px}
  .site-footer__grid{grid-template-columns:1fr}
  .site-footer__links{grid-column:auto;grid-template-columns:1fr 1fr;gap:24px 20px;border-top:1px solid var(--ink-100);padding-top:28px}
  .form-row{grid-template-columns:1fr}
  .craft-split{grid-template-columns:1fr}
  .craft-split__image{order:1}
  .craft-split__text{order:2}
  .about-dark__grid{grid-template-columns:1fr}
  .about-dark__image{min-height:240px}
  .collection-card__label{font-size:11px}

  .collection-hero{min-height:300px}
}

@media(min-width:768px) and (max-width:1023px){
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .archive-grid{grid-template-columns:repeat(3,1fr)}
  .journal-grid{grid-template-columns:repeat(2,1fr)}
  .process-grid{grid-template-columns:repeat(2,1fr)}
}
