@import url('/fonts.css');
:root{--paper:#f7f5ee;--ink:#293c35;--muted:#636b5d;--line:#d7d8cb;--olive:#666d43;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--olive);outline-offset:6px}.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:fixed;z-index:10;top:-100px;left:20px;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:10px}.topline{background:var(--ink);color:var(--paper);text-align:center;font-size:12px;letter-spacing:.18em;padding:9px 20px}.header{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px 5.5%;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1;white-space:nowrap}.wordmark span{display:block;text-align:center;font:10px/1.5 var(--sans);letter-spacing:.4em;margin-top:10px}.header nav{display:flex;gap:34px;align-items:center;font-size:14px}.header nav>a:not(.nav-shop){border-bottom:1px solid transparent}.header nav>a:hover{border-color:var(--ink)}.nav-shop{border:1px solid var(--ink);padding:11px 19px;display:flex;gap:25px;align-items:center}.nav-shop:hover{background:var(--ink);color:var(--paper)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px}.hero-copy{position:relative;padding:56px 8% 64px 11%;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.2em;line-height:1.6;margin:0 0 25px;display:flex;gap:16px;align-items:center}.little-line{width:29px;height:1px;background:var(--olive)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}h1{font-size:clamp(72px,7.7vw,120px);line-height:.95;margin-bottom:27px}em{font-weight:400;color:var(--olive)}.hero-description{line-height:1.85;margin-bottom:29px;color:var(--muted);font-size:16px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--ink);color:var(--paper);padding:16px 23px;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:#4b5941;transform:translateY(-2px)}.button>span[aria-hidden]{font-size:23px;line-height:1}.text-link{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:7px;display:inline-flex;align-items:center;gap:27px}.text-link:hover{color:var(--olive)}.hero-story{margin-top:20px;border:0}.hero-footnote{font-size:10px;letter-spacing:.16em;margin-top:40px;color:var(--muted)}.hero-visual{position:relative;min-height:660px;overflow:hidden}.hero-photo{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:48% center}.hero-visual:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#18291b88)}.origin-seal{position:absolute;top:35px;right:35px;background:var(--paper);border:1px solid #d5d6c0;border-radius:50%;width:118px;height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(12deg);font-size:10px;letter-spacing:.19em;z-index:1;outline:1px solid var(--paper);outline-offset:6px}.seal-star{font-size:38px;line-height:1.3;letter-spacing:0}.photo-caption{position:absolute;bottom:26px;left:30px;right:30px;z-index:1;color:white;display:flex;justify-content:space-between;align-items:center;gap:20px}.photo-caption span:first-child{font:italic 25px var(--serif)}.photo-caption span:last-child{font-size:10px;letter-spacing:.13em}.brand-band{display:flex;align-items:center;justify-content:space-around;gap:25px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:25px 6%;font:24px var(--serif)}.brand-band i{font-size:25px;color:var(--olive);font-style:normal}.section{padding:110px 8%}.story{display:grid;grid-template-columns:.9fr 1fr;gap:13%;align-items:center}.story-mark{display:flex;align-items:center;justify-content:center;flex-direction:column;background:#eaece1;min-height:475px;padding:45px;position:relative}.story-mark:before{content:'';position:absolute;inset:18px;border:1px solid #c6cbb8;pointer-events:none}.story-mark img{width:240px;height:auto;opacity:.9}.story-mark>span{font-size:10px;letter-spacing:.15em;margin-top:30px;text-align:center}.story h2,.product h2,.contact h2{font-size:clamp(46px,4.7vw,70px);line-height:1.04;margin-bottom:28px}.story-copy>p:not(.eyebrow),.product-copy>p:not(.eyebrow),.contact p:not(.eyebrow){color:var(--muted);max-width:490px}.story-copy .text-link{margin-top:14px}.product{background:#eeeede;padding-top:70px;padding-bottom:90px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:24px;border-bottom:1px solid #c8cbb6;margin-bottom:50px}.section-heading .eyebrow{margin:0}.section-heading>span{font:italic 22px var(--serif)}.product-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;align-items:center}.product-image{margin:0;position:relative}.product-image img{width:100%;height:495px;object-fit:cover}.product-image figcaption{font-size:12px;margin-top:10px;color:var(--muted)}.product-copy h2{font-size:58px}.product-copy .eyebrow{margin-bottom:20px}.product-spec{margin:30px 0 18px;padding:18px 0;border-top:1px solid #c8cbb6;border-bottom:1px solid #c8cbb6;display:flex;align-items:center;justify-content:space-between}.product-spec h3{font:32px var(--serif);margin:0}.product-spec>span{font-size:12px;letter-spacing:.15em}.purchase-note{font-size:14px}.store-note{font-size:12px;display:block;margin-top:14px;color:var(--muted)}.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center}.contact h2{font-size:64px}.contact-links>a{position:relative;display:block;border-bottom:1px solid var(--line);padding:22px 35px 22px 0;font:29px var(--serif)}.contact-links>a>span:not(.sr-only){display:block;font:11px var(--sans);letter-spacing:.18em;margin-bottom:12px;color:var(--muted)}.contact-links b{position:absolute;right:0;top:40%;font:26px var(--sans)}.contact-links p{font-size:14px;margin-top:25px}footer{background:var(--ink);color:var(--paper);padding:58px 8% 22px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px}footer .wordmark{justify-self:start}footer>p{font:italic 23px var(--serif);text-align:center;margin:0;color:#d3d7bd}footer>a:nth-of-type(2){font-size:14px;justify-self:end}.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff30;padding-top:23px;margin-top:26px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#d0d5c6}.footer-bottom>span:nth-child(2){letter-spacing:.15em}
@media(min-width:1600px){.hero{min-height:760px}.hero-copy{padding-top:75px}.hero-visual{min-height:760px}body{max-width:2000px;margin:auto}}
@media(max-width:1000px){.header{padding:22px 5%;gap:20px}.header nav{gap:20px}.wordmark{font-size:28px}.hero-copy{padding-left:10%;padding-right:7%}h1{font-size:86px}.hero,.hero-visual{min-height:650px}.photo-caption span:last-child{display:none}.section{padding:80px 6%}.story{gap:8%}.story-mark{min-height:420px;padding:40px}.story-mark img{width:210px}.product-layout{gap:7%}.product-copy h2{font-size:49px}.contact h2{font-size:53px}.product-image img{height:480px}footer{padding-left:6%;padding-right:6%}}
@media(max-width:760px){html{scroll-padding-top:25px}.topline{font-size:10px;letter-spacing:.12em;padding:8px 12px}.header{padding:23px 6%;min-height:95px;flex-wrap:wrap;gap:0}.wordmark{font-size:29px}.wordmark span{font-size:9px;letter-spacing:.3em}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;color:var(--ink);border:1px solid var(--line);padding:7px 12px;font-size:14px}.header nav{width:100%;padding-top:24px;display:flex;flex-direction:column;align-items:stretch;gap:0}.js-ready .header nav{display:none}.js-ready .header nav.is-open{display:flex}.header nav>a{padding:12px 0}.header nav .nav-shop{margin-top:12px;padding:12px 16px;justify-content:space-between}.hero{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:42px 7% 35px}h1{font-size:clamp(74px,16vw,110px);line-height:.94;margin-bottom:24px}.hero-description{font-size:16px}.hero .eyebrow{margin-bottom:28px}.hero-footnote{display:none}.hero-story{margin-top:17px}.hero-visual{min-height:410px}.hero-photo{object-position:center 55%}.origin-seal{width:94px;height:94px;top:28px;right:28px;font-size:9px}.seal-star{font-size:30px}.photo-caption{bottom:22px;left:24px}.brand-band{padding:22px 6%;font-size:20px;gap:13px;flex-wrap:wrap}.brand-band span:last-child,.brand-band i:last-of-type{display:none}.brand-band i{font-size:20px}.section{padding:65px 7%}.story{grid-template-columns:1fr;gap:40px}.story-mark{min-height:360px}.story-mark img{width:205px}.story-copy h2,.product-copy h2,.contact h2{font-size:52px}.story-copy .eyebrow{margin-bottom:18px}.section-heading{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:30px}.section-heading>span{font-size:22px}.product-layout{grid-template-columns:1fr;gap:32px}.product-image img{height:330px}.product-copy>p{max-width:none}.contact{grid-template-columns:1fr;gap:12px}.contact-links>a{font-size:29px}.contact-links p{margin-bottom:0}footer{padding:45px 7% 24px;display:flex;flex-direction:column;align-items:flex-start;gap:28px}footer>p{text-align:left}footer .footer-bottom{align-self:stretch;flex-wrap:wrap;gap:15px;margin-top:0;font-size:11px}.footer-bottom>span:nth-child(2){display:none}}
.concept-frame { position: relative; overflow: hidden; background: #ded5bf; }
.concept-label { position: absolute; top: 16px; left: 16px; background: var(--paper); color: var(--ink); padding: 7px 11px; font-size: 10px; letter-spacing: .12em; }
.concept-image figcaption { font-size: 14px; line-height: 1.6; }
@media(prefers-reduced-motion:no-preference) {
  .concept-frame img { transition: transform .8s ease; }
  .concept-frame:hover img { transform: scale(1.025); }
}
.brand-letter { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; background: var(--ink); color: var(--paper); position: relative; overflow: hidden; }
.letter-heading h2 { font-size: clamp(48px,4.8vw,70px); line-height: 1.04; margin-bottom: 35px; }
.letter-heading h2 em { color: #c7ceb2; }
.letter-signature { display: inline-block; font: italic 31px var(--serif); }
.letter-signature > span { display: block; font: 10px var(--sans); letter-spacing: .3em; margin-top: 12px; }
.letter-copy { padding-top: 36px; }
.letter-copy > p { color: #d9ddcd; }
.letter-copy .letter-lead { font: 29px/1.3 var(--serif); color: var(--paper); }
.letter-closing { display: block; margin-top: 27px; padding-top: 20px; border-top: 1px solid #ffffff30; font-size: 13px; letter-spacing: .04em; color: #c7ceb2; }
@media(max-width:760px) { .brand-letter { grid-template-columns: 1fr; gap: 30px; } .letter-copy { padding-top: 0; } .letter-heading h2 { margin-bottom: 25px; } }
.story { position: relative; overflow: hidden; }
.story::after, .table-intro::after {
  content: ''; position: absolute; width: 150px; height: 225px;
  background: url('/assets/olive-branch.svg') center / contain no-repeat;
  pointer-events: none; transform-origin: 25% 95%;
}
.story::after { right: -35px; bottom: -20px; opacity: .4; }
.table-section { background: #e7e9dd; overflow: hidden; }
.table-intro { position: relative; padding-right: 170px; margin-bottom: 50px; }
.table-intro::after { right: 15px; top: 0; opacity: .8; }
.table-intro h2 { font-size: clamp(45px,4.6vw,68px); line-height: 1.06; margin-bottom: 22px; }
.table-intro > p:last-child { color: var(--muted); }
.table-layout { display: grid; grid-template-columns: 1fr 1.05fr; gap: 8%; align-items: start; }
.table-photo { position: relative; margin: 0; overflow: hidden; }
.table-photo img { width: 100%; height: 460px; object-fit: cover; object-position: 60% center; }
.table-photo figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 55px 25px 23px; color: white; font: italic 28px var(--serif); background: linear-gradient(transparent,#293c35b3); }
.table-ideas details { border-top: 1px solid #bfc5b0; }
.table-ideas details:last-child { border-bottom: 1px solid #bfc5b0; }
.table-ideas summary { display: flex; align-items: center; gap: 20px; padding: 25px 0; cursor: pointer; list-style: none; font: 30px/1.2 var(--serif); }
.table-ideas summary::-webkit-details-marker { display: none; }
.table-ideas summary:focus-visible { outline: 2px solid var(--olive); outline-offset: 4px; }
.idea-number { font: 12px var(--sans); color: var(--olive); }
.table-ideas summary small { display: block; font: 10px/1.6 var(--sans); letter-spacing: .14em; margin-top: 9px; color: var(--muted); }
.idea-plus { margin-left: auto; font: 26px var(--sans); }
.table-ideas details[open] .idea-plus { transform: rotate(45deg); }
.idea-body { padding: 0 0 24px 36px; color: var(--muted); font-size: 15px; }
.idea-body > span { font-size: 12px; }
.idea-body .ingredients { margin: 12px 0 0; font-size: 13px; color: var(--ink); }
@keyframes branch-sway { 0%,100% { transform: rotate(-4deg); } 50% { transform: rotate(5deg); } }
@media(prefers-reduced-motion:no-preference) {
  .js-ready .story::after, .js-ready .table-intro::after { animation: branch-sway 9s ease-in-out infinite; }
  .js-ready .table-intro::after { animation-delay: -4s; }
  .idea-plus { transition: transform .25s ease; }
}
.motion-paused .story::after, .motion-paused .table-intro::after,
.page-hidden .story::after, .page-hidden .table-intro::after { animation-play-state: paused; }
@media(max-width:1000px) { .header nav { gap: 16px; } .table-layout { gap: 5%; } .table-ideas summary { font-size: 26px; } }
@media(max-width:760px) {
  .table-intro { padding-right: 0; margin-bottom: 32px; }
  .table-intro::after { width: 90px; height: 135px; right: -55px; top: -40px; opacity: .35; }
  .table-intro h2 { font-size: 46px; }
  .table-layout { grid-template-columns: 1fr; gap: 30px; }
  .table-photo img { height: 330px; }
  .table-ideas summary { font-size: 27px; gap: 14px; }
  .idea-body { padding-left: 30px; }
}
/* One-time entrances with slow ambient loops; transform-only animation. */
@keyframes softly-appear {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes photo-settle {
  from { transform: scale(1); }
  to { transform: scale(1.065); }
}
@keyframes seal-settle {
  0%, 100% { transform: translateY(0) rotate(9deg); }
  50% { transform: translateY(-9px) rotate(15deg); }
}
@keyframes star-turn {
  from { transform: rotate(0); }
  to { transform: rotate(360deg); }
}
@media(prefers-reduced-motion:no-preference){
  .hero-copy > :not(.button):not(.hero-story) {
    animation: softly-appear .85s cubic-bezier(.2,.65,.3,1) backwards;
  }
  .hero-copy h1 { animation-delay: .1s; }
  .hero-copy .hero-description { animation-delay: .2s; }
  .hero-copy .hero-footnote { animation-delay: .3s; }
  .js-ready .hero-photo { animation: photo-settle 16s ease-in-out infinite alternate; }
  .js-ready .origin-seal { animation: seal-settle 7s ease-in-out infinite; }
  .is-revealed { animation: softly-appear .8s cubic-bezier(.2,.65,.3,1) backwards; }
  .story-copy.is-revealed, .product-copy.is-revealed, .contact-links.is-revealed {
    animation-delay: .1s;
  }
  .js-ready .brand-band i, .js-ready .seal-star {
    display: inline-block;
    animation: star-turn 28s linear infinite;
  }
  .js-ready .brand-band i:last-of-type { animation-direction: reverse; }
  .button > span[aria-hidden], .nav-shop > span[aria-hidden],
  .text-link > span[aria-hidden], .contact-links b {
    display: inline-block;
    transition: transform .3s ease;
  }
  .button:is(:hover,:focus-visible) > span[aria-hidden],
  .nav-shop:is(:hover,:focus-visible) > span[aria-hidden],
  .text-link:is(:hover,:focus-visible) > span[aria-hidden],
  .contact-links a:is(:hover,:focus-visible) b { transform: translate(3px,-3px); }
  .hero-story:is(:hover,:focus-visible) > span[aria-hidden] { transform: translateY(4px); }
  .story-mark img { transition: transform .7s ease; }
  .story-mark:hover img { transform: translateY(-5px); }
  .nav-shop, .contact-links a { transition: background .3s ease, color .3s ease; }
  .contact-links a:hover { color: var(--olive); }
}
.motion-toggle {
  position: fixed;
  right: 16px;
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--paper);
  color: var(--ink);
  font-size: 12px;
  cursor: pointer;
  box-shadow: 0 3px 18px #293c3510;
}
.motion-toggle:hover { background: #eaece1; }
.motion-paused .hero-photo, .motion-paused .origin-seal,
.motion-paused .brand-band i, .motion-paused .seal-star,
.page-hidden .hero-photo, .page-hidden .origin-seal,
.page-hidden .brand-band i, .page-hidden .seal-star {
  animation-play-state: paused;
}
@media(prefers-reduced-motion:reduce){.motion-toggle{display:none}}
@media print{.motion-toggle{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{*,*:before,*:after{animation:none!important;transition:none!important}}
