/* Locally hosted typography and the final presentation layer. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url("../fonts/cormorant-garamond-latin-500-italic.woff2") format("woff2")}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url("../fonts/manrope-latin-wght-normal.woff2") format("woff2")}
:root{--serif:"Cormorant Garamond",Georgia,serif;--sans:Manrope,Arial,sans-serif;--header-height:104px}
body{font-size:15px;line-height:1.85}
h1,h2,h3,h4{font-weight:600}
h1,h2{text-wrap:balance}
h1 em,h2 em{font-weight:500;color:#91764f}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;display:flex;align-items:center;gap:12px}
.eyebrow:before{content:"";width:26px;height:1px;background:currentColor;opacity:.6;flex-shrink:0}
.section-heading .eyebrow{justify-content:center}
.section{padding-block:94px}
.section-heading{max-width:780px;margin-bottom:40px}
.section-heading h2{font-size:clamp(42px,4vw,58px);line-height:1.1;letter-spacing:-.8px;text-transform:none;margin-bottom:19px}
.section-heading p{font-size:14px;line-height:1.9;max-width:580px;margin-inline:auto}
.header{transition:box-shadow .3s,background .3s}
.header.is-scrolled{box-shadow:0 5px 24px #29261f0d;background:#fcfbf7fa}
.header-inner{gap:24px}
.brand{flex-direction:row;align-items:center;gap:15px;min-width:0}
.brand-logo{width:64px;height:64px;flex:0 0 64px;object-fit:contain;border-radius:50%;border:1px solid #c8c0b3;background:white;box-shadow:0 2px 12px #29261f0a}
.brand-copy{display:flex;flex-direction:column;min-width:0}
.brand-name{font-size:28px;font-weight:600;letter-spacing:2.3px;white-space:nowrap}
.brand-tagline{font-size:6.6px;font-weight:500;letter-spacing:1.35px;margin-top:7px;white-space:nowrap}
.navbar{gap:20px}
.nav-links{gap:19px}
.nav-links a{font-size:9px;font-weight:600;letter-spacing:.7px}
.topbar{font-size:9px}
.topbar-note{font-size:8px}
.reading-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none}
.reading-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:var(--gold)}
.hero h1{font-size:clamp(64px,6.4vw,96px);line-height:1.01;letter-spacing:-1.3px;margin:22px 0 20px}
.hero h1 em{color:#f1ddba}
.hero .eyebrow{justify-content:center;font-size:9px;letter-spacing:2.7px}
.hero .eyebrow:after{content:"";width:26px;height:1px;background:currentColor;opacity:.6}
.hero-ornament{margin-bottom:16px;font-size:29px}
.hero-subtitle{font-size:14px;letter-spacing:.7px;line-height:1.7;min-height:24px;margin:22px 0 28px;color:#f8f0e2}
.hero .button{padding:17px 27px;font-size:10px}
.button{font-size:10px;font-weight:600;letter-spacing:1.2px;min-height:49px;position:relative;transition:background .25s,color .25s,box-shadow .25s,transform .25s}
.button:hover{transform:translateY(-2px);box-shadow:0 7px 20px #29261f1c}
.button i,.text-link i{transition:transform .25s}
.button:hover i,.text-link:hover i{transform:translateX(4px)}
.text-link{font-size:10px;font-weight:600;letter-spacing:1.3px}
.benefits{padding-block:32px}
.benefit{transition:color .2s}
.benefit i{font-size:25px;transition:transform .35s}
.benefit:hover i{transform:translateY(-4px)}
.benefit strong{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:1px}
.benefit span{font-size:10px;line-height:1.7;margin-top:6px}
.collection-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.collection-filters{display:flex;flex-wrap:wrap;gap:7px}
.collection-filters button{padding:10px 16px;border:1px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:11px;transition:background .2s,color .2s,border .2s}
.collection-filters button:hover{color:var(--ink);border-color:var(--line)}
.collection-filters button[aria-pressed=true]{background:var(--dark);color:var(--paper);border-color:var(--dark)}
.collection-count{font-size:10px;letter-spacing:.2px;color:var(--muted);margin:0;white-space:nowrap}
.collection-label h3{font-size:29px;letter-spacing:.1px;text-transform:none;margin-bottom:12px}
.collection-label{transition:transform .4s}
.collection-card:hover .collection-label{transform:translateY(-5px)}
.collection-label span{font-size:8px;font-weight:500;letter-spacing:1.2px}
.collection-grid.is-filtered .collection-card{grid-column:auto;aspect-ratio:4/5}
.collection-notes{margin-top:35px}
.collection-notes summary{font-size:12px;padding-block:20px}
.weave-guide h3{font-size:28px}
.weave-guide p{font-size:13px;line-height:1.85}
.story{background:linear-gradient(135deg,#f6f2e9,#eee7da)}
.story-copy h2{font-size:clamp(40px,3.8vw,56px);letter-spacing:-.8px;line-height:1.08}
.story-copy p{font-size:13px;line-height:1.95}
.story-photo:before{content:"";position:absolute;top:-15px;left:-15px;right:23px;bottom:43px;border:1px solid #baa98b;pointer-events:none}
.story-photo>img{position:relative;z-index:1}
.story-stamp{z-index:2;padding:26px 34px;border-top:3px solid var(--gold)}
.story-stamp strong{font-size:39px}
.story-stamp span{font-size:8px;letter-spacing:1.4px}
.story-values{display:flex;flex-wrap:wrap;gap:22px;padding:18px 0;margin:22px 0;border-block:1px solid #dcd2bf}
.story-values span{display:flex;gap:9px;align-items:center;font-size:10px;font-weight:600;color:#6f5d40}
.story-values i{font-size:17px}
.process{padding-top:54px;gap:30px}
.process-item h3{font-size:24px;margin-bottom:5px}
.process-item p{font-size:11px;line-height:1.8}
.process-item img{border-radius:50%;border:4px solid #fcfbf799;transition:transform .4s}
.process-item:hover img{transform:scale(1.06)}
.process-number{font-size:8px;font-weight:600}
.promo{min-height:385px;overflow:hidden}
.promo img{transition:transform .7s}
.promo:hover img{transform:scale(1.04)}
.promo h3{font-size:37px;line-height:1.15}
.promo p{font-size:12px;line-height:1.9}
.promo .eyebrow{font-size:8px;letter-spacing:2px}
.promo .text-link{font-size:9px}
.gallery-item .gallery-zoom{transition:background .2s,color .2s,transform .2s}
.gallery-item:hover .gallery-zoom{background:var(--dark);color:var(--paper);transform:translateY(-3px)}
.recent-caption h3{font-size:31px;letter-spacing:-.3px}
.recent-caption .eyebrow{font-size:8px;letter-spacing:1.5px}
.recent-caption>a{border:1px solid var(--line);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-size:15px}
.recent-caption>a:hover{background:var(--dark);border-color:var(--dark);color:var(--paper)}
.contact-copy h2{font-size:clamp(42px,4vw,57px);line-height:1.05;letter-spacing:-1px;margin-bottom:25px}
.contact-copy>p{font-size:14px}
.contact-form{padding:38px;box-shadow:0 16px 45px #29261f05}
.contact-form h3{font-size:35px;margin-bottom:26px}
.contact-detail h3{font-weight:600;font-size:10px}
.contact-detail p,.contact-detail a{font-size:12px}
.field label{font-size:9px;font-weight:600;letter-spacing:.9px}
.field input,.field textarea{font-size:13px;padding:13px 14px;transition:border-color .2s,background .2s}
.field input:focus,.field textarea:focus{background:white}
.form-note{font-size:10px}
.faq-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:start}
.faq .section-heading{text-align:left;margin:0}
.faq .section-heading .eyebrow{justify-content:start}
.faq .section-heading p{margin-inline:0;margin-bottom:25px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:23px 0;font-family:var(--serif);font-size:26px;font-weight:600;line-height:1.2;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary i{font-size:15px;color:var(--gold);flex-shrink:0;transition:transform .25s}
.faq-item[open] summary i{transform:rotate(45deg)}
.faq-item[open] summary{color:#806642}
.faq-item p{font-size:13px;line-height:1.9;color:var(--muted);padding:0 25px 23px 0;margin:0}
.journal{padding-block:72px}
.journal h2{font-size:44px;letter-spacing:-.5px;line-height:1.1}
.journal h2 em{color:#ddc397}
.journal .eyebrow{font-size:8px}
.journal p{font-size:12px}
.journal-form label{font-size:9px;font-weight:600}
.journal-fields input{font-size:12px}
.journal-fields button{font-size:9px}
.footer{padding-top:68px}
.footer .brand{flex-direction:column;align-items:flex-start;gap:18px}
.footer .brand-logo{width:76px;height:76px;flex-basis:76px;border-color:#b5a991}
.footer .brand-name{font-size:29px;letter-spacing:1.8px}
.footer .brand-tagline{font-size:6px;letter-spacing:1px}
.footer h3{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:1.8px}
.footer-about p{font-size:12px}
.footer li,.footer address{font-size:11px;line-height:2.4}
.footer-bottom{font-size:9px}
.footer-bottom>span:last-child{font-size:8px}
.error-page h1{font-size:64px}
@keyframes hero-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
  .hero-content>.eyebrow{animation:hero-arrive .8s .05s both}
  .hero h1{animation:hero-arrive 1s .13s both}
  .hero-subtitle{animation:hero-arrive 1s .25s both}
  .hero-content>.button{animation:hero-arrive 1s .35s both}
  .motion-ready [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}
  .motion-ready [data-reveal].is-revealed,.motion-ready [data-reveal]:focus-within{opacity:1;transform:none}
}
@media(max-width:1200px){
  .header-inner{gap:15px}.brand{gap:11px}.brand-logo{width:57px;height:57px;flex-basis:57px}.brand-name{font-size:25px;letter-spacing:1.7px}.brand-tagline{font-size:6px;letter-spacing:.95px}.nav-links{gap:14px}.navbar{gap:15px}.nav-links a{font-size:8px}.footer .brand-name{font-size:27px}.contact-layout,.faq-layout{gap:40px}
}
@media(max-width:1100px){
  :root{--header-height:90px}.nav-links a{font-size:12px;padding-block:14px}.section{padding-block:78px}.section-heading h2{font-size:49px}.hero h1{font-size:80px}.story-copy h2{font-size:43px}.promo{padding:25px;min-height:380px}.promo h3{font-size:33px}.process-item h3{font-size:22px}.process-item img{border-radius:0}.journal h2{font-size:39px}
}
@media(max-width:800px){
  .section-heading h2{font-size:47px}.hero h1{font-size:74px}.hero-content{padding-bottom:110px}.hero .eyebrow{font-size:8px;letter-spacing:2px}.story-copy h2{font-size:48px}.collection-toolbar{align-items:flex-start;flex-direction:column;gap:13px}.collection-count{padding-left:2px}.story-photo:before{left:-10px;top:-10px}.story-copy p{font-size:14px}.process-item h3{font-size:23px}.process-item img{border-radius:0}.contact-copy h2{font-size:51px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq .section-heading{text-align:center}.faq .section-heading .eyebrow{justify-content:center}.faq .section-heading p{margin-inline:auto}.faq .section-heading .text-link{margin-bottom:8px}.footer .brand{flex-direction:row;gap:15px}.footer .brand-logo{width:65px;height:65px;flex-basis:65px}.footer .brand-name{font-size:25px}.footer-about{grid-column:1/-1}.journal h2{font-size:43px}
}
@media(max-width:500px){
  :root{--header-height:84px}.header-inner{gap:8px}.brand{gap:9px}.brand-logo{width:46px;height:46px;flex-basis:46px}.brand-name{font-size:22px;letter-spacing:.65px}.brand-tagline{font-size:5px;letter-spacing:.25px;margin-top:5px}.header-contact{font-size:19px;padding-right:10px}.navbar{gap:5px}.mobile-nav-toggle{font-size:23px;padding:5px}.topbar-contact{gap:12px}.topbar{font-size:8px}.topbar-note a{font-size:12px}
  .hero{height:570px}.hero-content{padding:20px 17px 106px}.hero h1{font-size:clamp(42px,12.5vw,62px);line-height:1.02;letter-spacing:-.5px;margin:22px 0 18px}.hero-ornament{font-size:26px;margin-bottom:17px}.hero .eyebrow{font-size:7px;letter-spacing:1.3px;gap:9px}.hero .eyebrow:before,.hero .eyebrow:after{width:15px}.hero-subtitle{font-size:12px;letter-spacing:.35px;max-width:285px;margin:19px auto 26px;min-height:41px}.hero .button{font-size:9px;padding:15px 22px}.hero-footnote{font-size:7px;letter-spacing:1px}.hero-footnote>span{max-width:140px}.hero-controls{bottom:69px}
  .section{padding-block:60px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:41px;letter-spacing:-.5px;margin-bottom:15px}.section-heading p{font-size:12px;line-height:1.9}.eyebrow{font-size:8px;letter-spacing:2px}.benefit strong{font-size:8px;letter-spacing:.7px}.benefit span{font-size:9px}.benefit i{font-size:24px}.collection-filters{gap:3px}.collection-filters button{font-size:9px;padding:9px 10px}.collection-toolbar{margin-bottom:20px;padding-bottom:15px}.collection-count{font-size:9px}.collection-label h3{font-size:22px;letter-spacing:-.3px}.collection-label span{font-size:7px;letter-spacing:.5px}.collection-label{left:13px;right:13px;bottom:17px}.collection-notes summary{font-size:10px}.collection-grid.is-filtered .collection-card{aspect-ratio:3/4}
  .story-copy h2{font-size:41px}.story-copy p{font-size:12px}.story-values{gap:15px}.story-values span{font-size:9px}.story-stamp{padding:20px 23px}.story-stamp strong{font-size:32px}.story-stamp span{font-size:7px}.process-item h3{font-size:25px}.process-item img{border-radius:50%}.process-item p{font-size:11px}.promo{min-height:330px;padding:29px}.promo h3{font-size:35px}.promo p{font-size:12px}.recent-caption h3{font-size:30px}.contact-copy h2{font-size:44px}.contact-copy>p{font-size:12px}.contact-form{padding:25px}.contact-form h3{font-size:31px}.field input,.field textarea{font-size:13px}.faq-item summary{font-size:25px;padding-block:22px}.faq-item p{font-size:12px}.journal{padding-block:52px}.journal h2{font-size:37px}.journal p{font-size:11px}.journal-fields button{font-size:8px;letter-spacing:.6px;padding:13px 12px;gap:9px}.journal-fields input{font-size:11px}.footer{padding-top:48px}.footer .brand-logo{width:58px;height:58px;flex-basis:58px}.footer .brand-name{font-size:26px;letter-spacing:1px}.footer .brand-tagline{font-size:5.5px;letter-spacing:.55px}.footer-bottom{font-size:8px}
}
@media(max-width:360px){.brand-logo{width:40px;height:40px;flex-basis:40px}.brand-name{font-size:20px}.brand-tagline{font-size:4.5px}.brand{gap:7px}.header-contact{padding-right:7px}.hero .eyebrow{font-size:6px;letter-spacing:1px}.collection-filters button{padding:9px 8px;font-size:8px}.section-heading h2{font-size:37px}.collection-label h3{font-size:19px}.contact-copy h2{font-size:40px}.journal h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.button:hover,.button:hover i,.text-link:hover i,.collection-card:hover .collection-label{transform:none}.motion-ready [data-reveal]{opacity:1;transform:none;transition:none}}
