/* ==========================================================================
   LEGNORY — shared interior-page styles (Phase 3)
   Reuses the approved homepage design language for collection / material /
   journal / commission / about / contact pages. RTL-aware.
   ========================================================================== */
:root{
  --walnut:#211711; --walnut-soft:#2c201a; --bronze:#a67c4e; --oak:#c9a06a;
  --cream:#f4eee2; --cream-deep:#ebe2d1; --ink:#2a2119; --ink-soft:#5f5344;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Inter",-apple-system,sans-serif;background:var(--cream);color:var(--ink);line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3,h4{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;letter-spacing:0.005em}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-999px;top:0;z-index:2000;background:var(--walnut);color:var(--cream);padding:12px 20px;font-size:12px;letter-spacing:0.1em}
.skip-link:focus{left:12px;top:12px}
.eyebrow{font-family:"Inter",sans-serif;font-size:11px;font-weight:400;letter-spacing:0.34em;text-transform:uppercase;color:var(--bronze)}
.wrap{max-width:1680px;margin:0 auto;padding:0 clamp(24px,5vw,80px)}
.measure{max-width:720px}
.section-pad{padding:clamp(96px,14vh,200px) 0}

/* ---------- header ---------- */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(244,238,226,0.9);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(42,33,25,0.06);transition:padding 1s var(--ease)}
.site-header__inner{display:flex;justify-content:space-between;align-items:center;padding:16px clamp(24px,5vw,64px);gap:24px}
.brand{display:inline-flex;align-items:center;gap:13px}
.brand-mark{height:32px;width:auto;flex-shrink:0}
.wordmark{font-family:"Cormorant Garamond",serif;font-size:24px;letter-spacing:0.42em;color:var(--ink);font-weight:500}
[dir=rtl] .wordmark{letter-spacing:0.12em}
.site-nav{display:flex;gap:32px;align-items:center}
.nav-group{position:relative}
.site-nav .nav-top{position:relative;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-soft);transition:color .6s var(--ease);cursor:pointer}
.site-nav .nav-top:hover,.nav-group:hover .nav-top{color:var(--ink)}
.site-nav .nav-top::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--bronze);transform:scaleX(0);transform-origin:right;transition:transform .8s var(--ease)}
.site-nav .nav-top:hover::after,.nav-group:hover .nav-top::after{transform:scaleX(1);transform-origin:left}
.nav-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:212px;background:var(--cream);box-shadow:0 20px 46px rgba(20,13,9,0.18);padding:20px 0 14px;opacity:0;visibility:hidden;transition:opacity .4s var(--ease),transform .4s var(--ease);z-index:1002}
.nav-group:hover .nav-menu,.nav-group:focus-within .nav-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-menu a{display:block;padding:9px 26px;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;transition:color .4s var(--ease),background .4s var(--ease)}
.nav-menu a:hover{color:var(--ink);background:var(--cream-deep)}
[dir=rtl] .nav-menu a{text-align:right}
.header-tools{display:flex;align-items:center;gap:22px}
.lang-switcher{display:flex;gap:10px;font-size:11px;letter-spacing:0.12em;text-transform:uppercase}
.lang-switcher a{color:var(--ink-soft);transition:color .5s var(--ease)}
.lang-switcher a[aria-current="true"]{color:var(--bronze)}
.lang-switcher a:hover{color:var(--ink)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;width:30px;height:16px;position:relative;z-index:1001}
.nav-toggle span{display:block;position:absolute;height:1px;width:100%;background:var(--ink);left:0;transition:.5s var(--ease)}
.nav-toggle span:nth-child(1){top:2px}.nav-toggle span:nth-child(2){bottom:2px}

/* ---------- page hero ---------- */
.page-hero{position:relative;min-height:70vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--walnut);margin-top:0}
.page-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.82;filter:contrast(1.05) brightness(0.9)}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,13,9,0.5) 0%,rgba(20,13,9,0.1) 40%,rgba(20,13,9,0.82) 100%)}
.page-hero__inner{position:relative;z-index:2;color:var(--cream);padding:clamp(120px,18vh,220px) clamp(24px,5vw,80px) clamp(56px,8vh,96px);max-width:1000px}
.page-hero h1{font-size:clamp(44px,7vw,104px);line-height:1;font-weight:300;letter-spacing:-0.015em;margin:20px 0 18px}
.page-hero .eyebrow{color:var(--oak)}
.page-hero__intro{font-size:clamp(15px,1.6vw,19px);line-height:1.7;color:rgba(244,238,226,0.9);font-weight:300;max-width:52ch}

/* ---------- breadcrumb ---------- */
.breadcrumb{padding:22px clamp(24px,5vw,80px);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);background:var(--cream)}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:10px;max-width:1680px;margin:0 auto}
.breadcrumb li{display:flex;gap:10px;align-items:center}
.breadcrumb li+li::before{content:"/";color:var(--bronze)}
.breadcrumb a:hover{color:var(--ink)}
.breadcrumb [aria-current="page"]{color:var(--ink)}

/* ---------- prose / editorial body ---------- */
.prose{max-width:720px}
.prose>*+*{margin-top:26px}
.prose h2{font-size:clamp(30px,3.8vw,48px);font-weight:300;line-height:1.14;margin-top:64px;letter-spacing:-0.01em}
.prose h3{font-size:clamp(22px,2.4vw,30px);font-weight:400;margin-top:44px}
.prose p{font-size:17px;line-height:2;color:var(--ink-soft);font-weight:300}
.prose p.lead{font-family:"Cormorant Garamond",serif;font-size:clamp(21px,2.4vw,28px);line-height:1.6;color:var(--ink)}
.prose strong{color:var(--ink);font-weight:500}
.prose a{color:var(--ink);border-bottom:1px solid var(--bronze);transition:opacity .5s var(--ease)}
.prose a:hover{opacity:0.6}
.prose ul{list-style:none;padding-left:0}
.prose ul li{position:relative;padding-left:26px;font-size:16px;line-height:1.9;color:var(--ink-soft);font-weight:300;margin-top:12px}
.prose ul li::before{content:"";position:absolute;left:0;top:14px;width:10px;height:1px;background:var(--bronze)}
[dir=rtl] .prose ul li{padding-left:0;padding-right:26px}
[dir=rtl] .prose ul li::before{left:auto;right:0}

/* ---------- feature figure ---------- */
.feature-figure{margin:64px 0;overflow:hidden;background:var(--walnut-soft)}
.feature-figure img{width:100%;height:auto;display:block}
.feature-figure figcaption{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-soft);padding:16px 2px 0}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid rgba(42,33,25,0.16)}
.faq details{border-bottom:1px solid rgba(42,33,25,0.14)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:28px 0;font-family:"Cormorant Garamond",serif;font-size:clamp(20px,2.2vw,27px);font-weight:300;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--bronze);font-size:24px;transition:transform .4s var(--ease)}
.faq details[open] summary::after{content:"–"}
.faq details p{font-size:16px;line-height:1.9;color:var(--ink-soft);font-weight:300;padding:0 0 28px;max-width:64ch}

/* ---------- cards grid (collection / material indexes) ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,52px)}
.card figure{overflow:hidden;aspect-ratio:0.82;background:var(--walnut-soft);margin-bottom:24px}
.card img{width:100%;height:100%;object-fit:cover;transition:transform 2s var(--ease)}
.card:hover img{transform:scale(1.04)}
.card .kicker{font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--bronze);display:block;margin-bottom:12px}
.card h2,.card h3{font-size:clamp(26px,2.6vw,36px);font-weight:300;line-height:1.1;margin-bottom:14px}
.card p{font-size:15px;line-height:1.85;color:var(--ink-soft);font-weight:300;max-width:36ch}
.card .card-link{display:inline-block;margin-top:18px;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--bronze);padding-bottom:6px;transition:opacity .5s var(--ease)}
.card:hover .card-link{opacity:0.6}

/* ---------- buttons ---------- */
.btn{display:inline-block;font-size:11px;letter-spacing:0.26em;text-transform:uppercase;padding:15px 54px;border:1px solid var(--walnut);background:var(--walnut);color:var(--cream);transition:background .7s var(--ease),color .7s var(--ease);cursor:pointer}
.btn:hover{background:transparent;color:var(--walnut)}
.btn--light{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--light:hover{background:var(--ink);color:var(--cream)}

/* ---------- footer ---------- */
.site-footer{background:var(--walnut);color:var(--cream);padding:clamp(100px,14vh,168px) clamp(24px,5vw,64px) 48px}
.site-footer__inner{max-width:1680px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(40px,5vw,96px);padding-bottom:76px;border-bottom:1px solid rgba(244,238,226,0.12)}
.site-footer .brand .wordmark{color:var(--cream)}
.footer-brand p{font-size:13px;line-height:1.85;color:rgba(244,238,226,0.6);max-width:32ch;font-weight:300;margin:26px 0 36px}
.footer-col h4{font-size:10px;letter-spacing:0.24em;text-transform:uppercase;color:rgba(244,238,226,0.5);margin-bottom:26px;font-weight:500;font-family:"Inter",sans-serif}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:16px}
.footer-col a{font-size:14px;color:rgba(244,238,226,0.78);font-weight:300;transition:color .6s var(--ease)}
.footer-col a:hover{color:var(--cream)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:40px;gap:20px;flex-wrap:wrap}
.footer-bottom p{font-size:11px;letter-spacing:0.12em;color:rgba(244,238,226,0.42)}

/* ---------- forms ---------- */
.cform{display:flex;flex-direction:column;gap:30px;max-width:560px}
.cform label{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);display:block;margin-bottom:8px}
.cform input,.cform textarea{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(42,33,25,0.26);padding:12px 2px;font-family:"Inter",sans-serif;font-size:15px;color:var(--ink);transition:border-color .5s var(--ease)}
.cform textarea{resize:vertical;min-height:120px}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--bronze)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:14px;line-height:1.7;color:var(--ink-soft);font-weight:300}
.alert{padding:16px 20px;border-left:2px solid var(--bronze);background:rgba(166,124,78,0.08);font-size:14px;line-height:1.6;color:var(--ink);margin-bottom:30px}
[dir=rtl] .alert{border-left:none;border-right:2px solid var(--bronze)}
.alert--ok{border-color:#4a7c59;background:rgba(74,124,89,0.10)}

/* ---------- certificate verification ---------- */
.prov-2col{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(40px,6vw,90px);align-items:center}
.prov-2col figure{margin:0}
.prov-2col img{width:100%;height:auto;box-shadow:0 30px 70px rgba(20,13,9,0.3)}
.verify-form{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;max-width:520px;margin-top:8px}
.verify-form input{flex:1;min-width:220px;background:transparent;border:none;border-bottom:1px solid rgba(42,33,25,0.3);padding:12px 2px;font-family:"Inter",sans-serif;font-size:16px;letter-spacing:0.08em;color:var(--ink)}
.verify-form input:focus{outline:none;border-color:var(--bronze)}
.cert-card{max-width:640px;border:1px solid rgba(42,33,25,0.16);background:var(--cream);padding:clamp(32px,4vw,56px)}
.cert-status{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:#4a7c59;margin-bottom:26px}
.cert-status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}
.cert-status.invalid{color:#9a3b2e}
.cert-row{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-top:1px solid rgba(42,33,25,0.12)}
.cert-row:first-of-type{border-top:none}
.cert-row .k{color:var(--ink-soft);letter-spacing:0.04em;font-size:12px;text-transform:uppercase;letter-spacing:0.12em}
.cert-row .v{color:var(--ink);text-align:right;font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:300}
[dir=rtl] .cert-row .v{text-align:left}
@media (max-width:820px){.prov-2col{grid-template-columns:1fr;gap:40px}.prov-2col figure{max-width:420px;margin:0 auto}}

/* ---------- back to top ---------- */
.to-top{position:fixed;right:clamp(20px,4vw,44px);bottom:clamp(20px,4vw,44px);z-index:900;width:52px;height:52px;border-radius:50%;background:var(--walnut);color:var(--cream);border:1px solid rgba(244,238,226,0.18);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease),background .5s var(--ease),border-color .5s var(--ease);box-shadow:0 8px 28px rgba(20,13,9,0.3)}
[dir=rtl] .to-top{right:auto;left:clamp(20px,4vw,44px)}
.to-top.visible{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--bronze);border-color:var(--bronze)}
.to-top svg{width:15px;height:15px;display:block;transition:transform .5s var(--ease)}
.to-top:hover svg{transform:translateY(-2px)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(36px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease)}
.reveal.in-view{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .footer-top{grid-template-columns:1fr 1fr;gap:44px}
  .footer-brand{grid-column:1/-1}
}
@media (max-width:820px){
  .site-nav{position:fixed;inset:0;height:100dvh;background:var(--walnut);flex-direction:column;align-items:center;justify-content:flex-start;gap:16px;padding:108px 24px 48px;overflow-y:auto;transform:translateX(100%);transition:transform .6s var(--ease)}
  [dir=rtl] .site-nav{transform:translateX(-100%)}
  .site-nav.open{transform:none}
  .nav-group{position:static;text-align:center}
  .site-nav .nav-top{color:var(--cream);font-size:15px;letter-spacing:0.24em}
  .site-nav .nav-top::after{display:none}
  .nav-menu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;background:transparent;padding:8px 0 2px;min-width:0}
  .nav-menu a{color:rgba(244,238,226,0.6);font-size:12px;padding:5px 0;text-align:center}
  .nav-menu a:hover{background:transparent;color:var(--cream)}
  .nav-toggle{display:block}
  .card-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
}
