/* Warm editorial direction: ivory, ink, limestone and bronze. */
:root {
  --blue: #443b31;
  --teal: #25231f;
  --teal-mid: #443b31;
  --deep: #24221f;
  --ink: #25231f;
  --muted: #706a60;
  --ice: #f3efe7;
  --line: #d8d1c5;
}
.modern-site,.portal{background:#f5f2eb;color:#25231f}
.modern-site .announcement{background:#272520;color:#e8e1d5}
.modern-site .site-header,.portal-nav{background:#f5f2ebf2;border-color:#d8d1c5}
.modern-site .nav-wrap::before,.modern-site .nav-wrap::after,.portal-nav::before,.portal-nav::after{display:none}
.modern-site .site-header .brand img{filter:grayscale(1) brightness(.2)}
.modern-site .header-cta{background:transparent;color:#302b25;border:1px solid #b9af9f}
.modern-site .account-link,.modern-site .cart-toggle,.portal-nav .nav-square{background:#302b25;color:#fff}
.modern-site .cart-toggle{min-width:46px;padding:8px;gap:5px}
.modern-site .hero.editorial-hero{background:#f5f2eb;overflow:hidden;border-bottom:1px solid #d8d1c5}
.modern-site .editorial-hero .hero-inner{grid-template-columns:1.07fr 1fr;gap:75px;min-height:0;padding-block:55px 55px;align-items:center}
.modern-site .editorial-hero h1{font-family:'Libre Caslon Text',Georgia,serif;font-size:clamp(52px,5.2vw,78px);font-weight:400;line-height:1.07;letter-spacing:-.055em;margin:32px 0}
.modern-site .editorial-hero h1 span{color:#78614b;font-style:italic}
.modern-site .editorial-hero .eyebrow{color:#706657;font-size:9px;letter-spacing:2px}
.modern-site .editorial-hero .hero-description{font-size:15px;line-height:1.85;color:#696358;max-width:440px}
.editorial-actions{display:flex;align-items:center;gap:27px;margin-top:28px}
.modern-site .editorial-actions .button{background:#302b25;color:white;border-radius:0;padding:18px 24px;font-size:12px;gap:28px}
.modern-site .editorial-actions .hero-secondary{display:flex;gap:14px;margin:0;color:#443b31;white-space:nowrap}
.editorial-note{display:flex;gap:20px;align-items:center;margin-top:43px;border-top:1px solid #d8d1c5;padding-top:21px;max-width:410px}
.editorial-note>span{font:11px monospace;color:#766751}.editorial-note p{margin:0;font-size:12px;line-height:1.6;color:#6a6257}
.hero-editorial{position:relative;margin:0;height:600px;background:#292722;overflow:hidden}
.hero-editorial>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.25);display:block;transform:scale(1.03)}
.editorial-image-shade{position:absolute;inset:0;background:linear-gradient(180deg,#1f1b142e,transparent 40%,#191610bf)}
.editorial-image-label{position:absolute;top:25px;left:27px;color:#eee7d9;font:8px monospace;letter-spacing:2px}
.hero-editorial figcaption{position:absolute;bottom:30px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:end;color:#fffaf0}
.hero-editorial figcaption>span{font-family:'Libre Caslon Text',Georgia,serif;font-size:30px;line-height:1.3;letter-spacing:-1px}
.hero-editorial figcaption em{color:#d6c5ab;font-weight:400}
.hero-editorial figcaption a{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ece5d580;border-radius:50%;color:white;font-size:23px;transition:background .3s}
.hero-editorial figcaption a:hover{background:#ffffff25}
.editorial-baseline{border-top:1px solid #d8d1c5;display:flex;justify-content:space-between;padding:20px max(48px,calc((100vw - 1280px)/2));gap:20px;font:8px monospace;letter-spacing:1.5px;color:#736858}
.motion-active .hero-editorial.scene-visible>img{animation:editorial-drift 14s ease-in-out infinite alternate}
@keyframes editorial-drift{to{transform:scale(1.09) translateY(-1%)}}
.modern-site .trust-strip{background:#eee9df}.modern-site .trust-grid{padding-block:22px}.modern-site .trust-grid .icon{color:#76634d}
.modern-site .catalog{background:#faf8f3}.modern-site .catalog h2{font-family:'Libre Caslon Text',Georgia,serif;font-weight:400;font-size:clamp(34px,3.5vw,52px);letter-spacing:-.055em}
.modern-site .product-card{border-color:#ded8cd;background:#faf8f3;box-shadow:none;border-radius:0}
.modern-site .product-image{background:#ece7de}.modern-site .product-image img,.modern-site .approach-photo img,.portal .research-stage img{filter:grayscale(1) sepia(.2)}
.modern-site .product-card:hover{border-color:#9d8a71;box-shadow:0 12px 25px #3b2c1409}
.modern-site .filter.active{background:#373129;color:#fff}
.modern-site .approach{background:#eae4d9;border-color:#d8d1c5}
.modern-site .approach h2,.modern-site .closing h2{font-family:'Libre Caslon Text',Georgia,serif;font-weight:400}
.modern-site .personal-section,.modern-site .closing,.modern-site .site-footer,.portal-footer{background:#272520}
.modern-site .button:hover,.portal .btn:hover{background:#5b4c3c;box-shadow:0 8px 22px #3d2e1820}
.modern-site .button-light:hover{color:white}
.portal .panel,.portal .stat{border-color:#ddd6ca}.portal .panel{background:#fffcf7}
.portal .preview-note{background:#eae3d7;color:#594c3a;border-color:#8d785a}
.portal .empty-state{background:#f1ece3;border-color:#eae2d6;color:#6a6052}
.portal .stat{background:linear-gradient(135deg,#fffdf9,#eee7db)}
.portal .standards-hero img{filter:grayscale(1) sepia(.25);border-color:#c6baaa;box-shadow:18px 18px 0 #e4dbcc}
.portal.login-page{background:#211f1b url('contours.svg') center/cover;color:#f6f0e6}
.login-page .portal-nav{background:#211f1be6}.login-page .portal-shell{border-color:#4a4339}
.login-page .login-form .preview-note{background:#302a22;color:#e3d2b7;border-color:#a58a66}
.login-page .login-form input{background:#ffffff08}.login-page .login-form input:focus{background:#383027;border-color:#bba384}
.login-page .login-form .btn:not(.outline){background:#d9c3a2;border-color:#d9c3a2;color:#25211b}
.sculpture-ring{background:linear-gradient(#211f1b,#211f1b) padding-box,conic-gradient(from 30deg,#2b251d,#8d7152,#f4e5cb,#947553,#352d22,#c9ab88,#f8ead5,#aa8963,#2b251d) border-box;box-shadow:inset 10px 0 24px #b28b5340,20px 40px 60px #0008}
.sculpture-core{background:radial-gradient(circle at 30% 20%,#f6e9d0,#aa8661 30%,#2c251c 70%);box-shadow:0 0 70px #b6966435}
.research-stage{background:radial-gradient(ellipse at 60% 42%,#e9decb,transparent 60%),linear-gradient(135deg,#faf7f0,#e8e0d3);border-color:#cfc3b1}
.support-fab{background:#443b31;position:fixed!important}.motion-toggle{background:#fffaf2;color:#443b31;border-color:#d6c9b5}.reading-progress{background:#8a7152}
.portal .text-link{color:#695139}
@media(min-width:1500px){.modern-site .editorial-hero .hero-inner{min-height:0;padding-block:65px}.hero-editorial{height:660px}}
@media(max-width:1100px){.modern-site .editorial-hero .hero-inner{gap:40px}.modern-site .editorial-hero h1{font-size:60px}.editorial-actions{flex-wrap:wrap;gap:20px}.hero-editorial{height:570px}}
@media(max-width:700px){
 .modern-site .editorial-hero .hero-inner{grid-template-columns:1fr;gap:35px;padding-block:35px 30px}
 .modern-site .editorial-hero h1{font-size:clamp(48px,10vw,64px);margin-block:25px;line-height:1.08}
 .modern-site .editorial-hero .hero-description{font-size:14px;max-width:350px}
 .modern-site .editorial-hero .eyebrow{font-size:8px;letter-spacing:1.3px}
 .editorial-actions{margin-top:25px;gap:22px}.modern-site .editorial-actions .button{padding:16px 20px;font-size:11px}
 .editorial-note{display:none}.hero-editorial{height:410px}
 .hero-editorial figcaption>span{font-size:27px}.editorial-baseline{padding:17px 20px;font-size:7px;letter-spacing:1px}
 .editorial-baseline>a{display:none}.modern-site .trust-grid{padding-block:15px}
 .portal .standards-hero img{box-shadow:8px 8px 0 #e4dbcc}
}
@media(prefers-reduced-motion:reduce){.hero-editorial>img{animation:none!important}}
:root{--muted:#5c554b}
.modern-site .approach .eyebrow,.modern-site .approach .serif,.modern-site .approach-tabs button,.modern-site .principle p,.modern-site .principle>span{color:#5c554b}
.modern-site main img{filter:grayscale(1) sepia(.2)}
@media(max-width:400px){.modern-site .nav-wrap .brand img{width:115px}.modern-site .nav-wrap .brand{gap:6px}.modern-site .nav-actions{gap:8px}.modern-site .cart-toggle{min-width:42px}}
@media(max-width:370px){.modern-site .nav-wrap .brand>span{display:none}.modern-site .nav-actions{gap:6px}.modern-site .nav-wrap .brand img{width:105px}}
/* Customer sign-in */
.login-page .auth-switch{display:flex;gap:4px;margin-top:26px;padding:4px;border:1px solid #ffffff2e;border-radius:6px}
.login-page .auth-tab{flex:1;padding:11px 14px;border:0;border-radius:4px;background:transparent;color:#d8cfc2;font:inherit;font-size:14px;cursor:pointer;transition:background .25s,color .25s}
.login-page .auth-tab[aria-pressed="true"]{background:#d9c3a2;color:#25211b}
.login-page .auth-tab:focus-visible{outline:2px solid #d9c3a2;outline-offset:2px}
.login-page .login-form .field-hint{font-size:12px;margin:8px 0 0}
.login-page #loginError{color:#f4c0b2;margin:14px 0 0}
.login-page #loginError:empty{display:none}
.login-page .login-form .btn:disabled{opacity:.6;cursor:progress}
.login-page .minor-note{font-size:13px;margin-top:18px}
.login-page .minor-note a{color:#e3d2b7}
.portal[data-auth="pending"] .portal-main{visibility:hidden}
.profile-form input[readonly]{background:#f1ede6;color:#5c5245}

/* Account: order history */
.portal .order-list{display:grid;gap:10px;margin:18px 0}
.portal .order-row{display:grid;grid-template-columns:150px 1fr auto auto;align-items:center;gap:18px;padding:14px 16px;border:1px solid #ded6c9;background:#fbf9f5}
.portal .order-row>div{display:grid;gap:2px}.portal .order-row>div span{font-size:12px;color:#6b6155}
.portal .order-row p{margin:0;font-size:13px;color:#4a4238}
.portal .order-total{font-weight:600}
.portal .status-pill.status-new{background:#efe3cf;color:#6b4f2a}.portal .status-pill.status-invoiced{background:#e3e9ef;color:#2f4a63}
.portal .status-pill.status-paid,.portal .status-pill.status-shipped{background:#e2ece2;color:#2f5a35}.portal .status-pill.status-cancelled{background:#eee;color:#555}
@media(max-width:700px){.portal .order-row{grid-template-columns:1fr auto;gap:8px 12px}.portal .order-row p{grid-column:1/-1}}

/* ── Phones: no zoom-on-focus, readable labels, finger-sized targets ── */
@media (max-width: 760px) {
  /* iOS zooms into any field under 16px when it is tapped. */
  input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea { font-size: 16px !important; }
  /* Small uppercase labels: never below ~10px on a phone. */
  .modern-site .announcement span { font-size: 11px; }
  .modern-site .editorial-hero .eyebrow, .modern-site .eyebrow { font-size: 10px !important; letter-spacing: 1.3px; }
  .modern-site .editorial-baseline { font-size: 10px !important; letter-spacing: 1px; }
  .modern-site .trust-grid span { font-size: 12px; }
  .study-topline span, .study-art-note { font-size: 10px !important; }
  .modern-site [data-study], .study-product-label, .study-bottomline span, .modern-site .nav-wrap .brand > span { font-size: 10px !important; }
  .portal .portal-label, .portal .stat .portal-label { font-size: 10px; letter-spacing: 1.2px; }
  .portal .stage-caption, .portal .stage-caption span, .portal .floating-vial figcaption, .portal .stage-bottom span { font-size: 10px; }
  /* Tap targets. */
  .modern-site .editorial-actions .hero-secondary { padding-block: 12px; }
  .site-footer a, .portal-footer a { display: inline-block; padding-block: 7px; }
  .catalog-footnote a, a[href="#ordering"] { display: inline-block; padding-block: 8px; }
  .portal-nav nav { row-gap: 2px; }
  .portal-nav nav a:not(.nav-square) { padding-block: 10px; font-size: 11px; }
  .portal .text-link { display: inline-block; padding-block: 10px; }
  footer.border-t a { display: inline-block; padding-block: 8px; }
  /* Floating controls: a compact round pause/play button and the WhatsApp pill,
     clear of the iPhone home indicator. The button keeps its spoken label. */
  .motion-toggle { width: 44px; height: 44px; padding: 0 !important; justify-content: center; font-size: 0 !important; bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important; left: 14px !important; }
  .motion-toggle::before { content: "" !important; width: 10px !important; height: 12px !important; border-radius: 0 !important; background: linear-gradient(90deg, #443b31 0 35%, transparent 35% 65%, #443b31 65%) !important; }
  .motion-toggle[aria-pressed="false"]::before { width: 11px !important; background: #443b31 !important; clip-path: polygon(0 0, 100% 50%, 0 100%); margin-left: 3px; }
  .motion-toggle:disabled { display: none; }
  .support-fab { bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important; right: 14px !important; min-height: 44px; display: inline-flex; align-items: center; }
}

/* Catalog search (66 products) and empty result */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.catalog-search{display:flex;align-items:center;gap:10px;max-width:440px;margin:0 0 18px;padding:0 14px;min-height:46px;border:1px solid #cfc5b5;background:#fffdf9;transition:border-color .2s,box-shadow .2s}
.catalog-search:focus-within{border-color:#443b31;box-shadow:0 0 0 4px #443b310f}
.catalog-search svg{flex:none;width:18px;height:18px;fill:none;stroke:#6f6352;stroke-width:1.6;stroke-linecap:round}
.catalog-search input{flex:1;min-width:0;height:44px;border:0;background:transparent;font:inherit;font-size:15px;color:#2a251f;outline:none}
.catalog-search input::placeholder{color:#857a6b}
.catalog-empty{flex:1;margin:0;padding:48px 8px;color:#5f564a;font-size:15px}
.catalog-empty button{border:0;background:none;padding:8px 0;color:#443b31;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media(max-width:760px){.catalog-search{max-width:none}}
