:root{
  --ink:#183e39;
  --muted:#65736a;
  --paper:#f7f6ef;
  --line:#dcded3;
  --bs-body-bg:var(--paper);
  --bs-body-color:var(--ink);
  --bs-primary:#24594e;
  --bs-border-radius:.8rem}
*{
  box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:30px}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased}
a{
  color:inherit;
  text-decoration:none}
button,a{
  touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:3px solid #df714a;
  outline-offset:5px}
button{
  font:inherit}
.container{
  max-width:1264px;
  padding-left:40px;
  padding-right:40px}
.site-header{
  border-bottom:1px solid var(--line)}
.header-inner{
  height:110px;
  display:flex;
  align-items:center;
  justify-content:space-between}
.brand{
  display:inline-flex;
  align-items:center;
  gap:11px;
  font-size:20px;
  font-weight:850;
  letter-spacing:-.7px}
.brand small{
  display:block;
  font-size:8px;
  letter-spacing:2.2px;
  margin-top:4px}
.header-inner nav{
  display:flex;
  align-items:center;
  gap:38px;
  font-size:13px;
  font-weight:600}
.nav-contact{
  border:1px solid #adbaaf;
  padding:12px 19px;
  border-radius:7px}
.nav-contact span{
  padding-left:22px}
.menu-toggle{
  display:none}
.intro{
  padding-top:57px;
  padding-bottom:42px}
.eyebrow{
  font-size:10px;
  font-weight:700;
  letter-spacing:1.8px;
  display:flex;
  align-items:center;
  gap:9px}
.location-dot{
  display:inline-block;
  width:7px;
  height:7px;
  background:#56876a;
  border-radius:50%}
.intro-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-top:23px}
h1{
  font-size:clamp(48px,5.4vw,72px);
  line-height:1.04;
  letter-spacing:-4px;
  font-weight:750;
  margin:0}
h1 span{
  color:#74836a}
.intro-row p{
  font-size:15px;
  line-height:1.9;
  margin:0 0 4px;
  color:#5d6b62}
.showcase{
  border-radius:15px;
  overflow:hidden;
  background:#e9bb82;
  position:relative}
.showcase-slide{
  min-height:454px;
  display:grid;
  grid-template-columns:48% 52%;
  align-items:center;
  position:relative;
  overflow:hidden}
.showcase-slide[hidden]{
  display:none}
.biscuit-slide{
  background:#edc496}
.word-slide{
  background:#dad8ee}
.buy-slide{
  background:#c7dfd4}
.showcase-copy{
  padding:42px 0 32px 48px;
  z-index:1}
.pill{
  font-size:9px;
  font-weight:700;
  letter-spacing:1.5px;
  border:1px solid #183e3940;
  border-radius:30px;
  padding:8px 12px;
  display:inline-block}
.showcase h2{
  font-size:clamp(42px,4.5vw,62px);
  line-height:1.04;
  letter-spacing:-2.9px;
  font-weight:750;
  margin:22px 0 18px}
.showcase p{
  font-size:14px;
  line-height:1.8;
  margin-bottom:24px}
.btn{
  font-size:12px;
  font-weight:700;
  padding:15px 20px;
  border:0;
  border-radius:6px}
.btn-light{
  background:var(--paper);
  color:var(--ink)}
.btn span{
  margin-left:22px}
.concept-label{
  display:block;
  font-size:8px;
  letter-spacing:1.3px;
  margin-top:19px;
  opacity:.8}
.hero-art{
  width:100%;
  height:454px;
  object-fit:contain;
  position:relative}
.carousel-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:15px 28px 15px 48px;
  background:#183e390a;
  border-top:1px solid #183e391c}
.carousel-caption-label{
  font-size:9px;
  letter-spacing:2px;
  font-weight:700}
.carousel-controls{
  display:flex;
  gap:19px;
  align-items:center;
  font-size:11px;
  font-weight:700}
.carousel-controls>span span{
  opacity:.55;
  margin-left:7px}
.carousel-controls button{
  width:34px;
  height:34px;
  border:1px solid #183e3940;
  background:transparent;
  border-radius:50%;
  font-size:19px;
  line-height:1}
.carousel-controls button:hover{
  background:#ffffff60}
.product-tabs{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  border-bottom:1px solid var(--line);
  gap:28px}
.product-tabs button{
  border:0;
  border-top:3px solid transparent;
  margin-top:-1px;
  background:none;
  text-align:left;
  padding:22px 0;
  color:#69746b;
  font-size:12px;
  display:flex;
  gap:15px;
  align-items:center}
.product-tabs button[aria-current=true]{
  border-top-color:var(--ink);
  color:var(--ink);
  font-weight:700}
.product-tabs button>span:first-child{
  font-size:9px;
  opacity:.65}
.product-tabs button>span:last-child{
  margin-left:auto;
  font-size:18px}
.about-section{
  padding-top:87px;
  padding-bottom:85px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:86px;
  align-items:center}
.coast-art{
  background:#e5e9dd;
  border-radius:10px;
  overflow:hidden;
  position:relative}
.coast-art img{
  width:100%;
  aspect-ratio:1.35;
  object-fit:cover}
.art-caption{
  position:absolute;
  bottom:20px;
  left:24px;
  font-size:8px;
  letter-spacing:1.6px;
  background:#f7f6efde;
  padding:9px 13px;
  border-radius:30px}
.about-copy h2{
  font-size:40px;
  letter-spacing:-1.7px;
  font-weight:700;
  line-height:1.12;
  margin:20px 0}
.about-copy p{
  font-size:14px;
  color:#637064;
  line-height:1.85;
  max-width:430px}
.text-link{
  font-size:13px;
  display:inline-block;
  font-weight:700;
  border-bottom:1px solid #a6b2a1;
  padding-bottom:9px;
  margin-top:12px}
.text-link span{
  margin-left:30px}
.values-strip{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)}
.values-strip .container{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding-top:31px;
  padding-bottom:31px;
  gap:35px}
.values-strip .container>div{
  padding-left:41px;
  position:relative}
.values-strip .container>div>span{
  position:absolute;
  left:0;
  top:0;
  font-size:29px;
  line-height:1;
  color:#6f846b}
.values-strip h3{
  font-size:13px;
  font-weight:700;
  margin:0 0 8px}
.values-strip p{
  font-size:11px;
  color:var(--muted);
  margin:0}
.site-footer{
  padding-top:49px}
.footer-top{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:28px;
  padding-bottom:38px}
.footer-top .brand{
  font-size:16px}
.footer-top p{
  font-size:12px;
  line-height:1.8;
  color:var(--muted);
  margin:16px 0 0}
.footer-top h2{
  font-size:11px;
  font-weight:700;
  margin:8px 0 18px}
.footer-top>div>a:not(.brand){
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-top:11px}
.footer-top a:hover,.header-inner a:hover{
  color:#63815e}
.island-note{
  font-size:11px;
  padding-top:8px}
.island-note .location-dot{
  margin-right:5px}
.footer-bottom{
  border-top:1px solid var(--line);
  padding:21px 0 25px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  font-size:10px;
  color:var(--muted)}
.skip-link{
  position:fixed;
  top:-100px;
  left:20px;
  z-index:99;
  background:var(--ink);
  color:white;
  padding:12px}
.skip-link:focus{
  top:12px}
.page-section{
  padding-top:60px;
  padding-bottom:80px;
  min-height:55vh}
.breadcrumb-link{
  font-size:12px;
  color:var(--muted);
  display:inline-block;
  margin-bottom:30px}
.page-section h1{
  font-size:clamp(40px,5vw,66px);
  margin:20px 0 25px;
  max-width:850px}
.page-section .lead{
  max-width:660px;
  font-size:19px;
  line-height:1.7;
  color:var(--muted)}
.product-detail{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:55px;
  align-items:center}
.product-preview{
  border-radius:16px;
  width:100%;
  background:#e8e9db}
.product-detail h1{
  letter-spacing:-2px}
.page-section h2{
  font-size:24px;
  font-weight:700;
  margin:30px 0 16px;
  letter-spacing:-.6px}
.prose{
  max-width:760px}
.prose p,.prose li{
  font-size:15px;
  color:var(--muted);
  line-height:1.85}
.notice{
  padding:22px 25px;
  background:#e9ecdf;
  border-radius:10px;
  margin:28px 0}
.notice p:last-child{
  margin-bottom:0}
details{
  border-bottom:1px solid var(--line);
  padding:22px 0}
summary{
  font-weight:600;
  font-size:16px;
  cursor:pointer}
details p{
  margin-top:18px}
.related-products{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:25px}
.related-products a{
  border:1px solid var(--line);
  padding:13px 18px;
  border-radius:8px;
  font-size:12px}
.related-products a:hover{
  background:#e8ecdf}
@media(min-width:1500px){
  .intro{
  padding-top:70px}
}
@media(max-width:991px){
  .container{
  padding-left:28px;
  padding-right:28px}
.intro-row{
  align-items:flex-start}
.intro-row p{
  font-size:13px;
  max-width:310px}
.desktop-break{
  display:none}
.showcase-copy{
  padding-left:30px}
.showcase-slide{
  min-height:420px}
.hero-art{
  height:420px}
.about-section{
  gap:40px}
.about-copy h2{
  font-size:32px}
.footer-top{
  grid-template-columns:1.3fr 1fr 1fr}
.island-note{
  display:none}
.product-tabs{
  gap:15px}
.product-tabs button{
  font-size:11px;
  gap:8px}
}
@media(max-width:680px){
  .container{
  padding-left:22px;
  padding-right:22px}
.header-inner{
  height:85px}
.brand{
  font-size:17px}
.brand img{
  width:41px}
.brand small{
  font-size:7px;
  letter-spacing:1.6px}
.menu-toggle{
  display:block;
  background:transparent;
  border:1px solid var(--line);
  padding:9px 12px;
  border-radius:6px;
  font-size:12px;
  color:var(--ink)}
.menu-toggle span{
  margin-left:8px}
.header-inner nav{
  display:none;
  position:absolute;
  top:85px;
  left:0;
  right:0;
  padding:24px;
  background:var(--paper);
  border-bottom:1px solid var(--line);
  z-index:10;
  align-items:stretch;
  gap:20px}
.header-inner nav.is-open{
  display:flex;
  flex-direction:column}
.nav-contact{
  align-self:flex-start}
.intro{
  padding-top:35px;
  padding-bottom:30px}
.eyebrow{
  font-size:8px;
  letter-spacing:1px}
.intro-row{
  display:block;
  margin-top:20px}
h1{
  font-size:clamp(39px,12.5vw,49px);
  letter-spacing:-2.7px}
.intro-row p{
  font-size:14px;
  margin-top:23px;
  max-width:340px;
  line-height:1.75}
.showcase-slide{
  grid-template-columns:1fr}
.showcase-copy{
  padding:30px 26px 0}
.showcase h2{
  font-size:45px;
  letter-spacing:-2px;
  margin-top:20px}
.showcase p{
  font-size:13px}
.hero-art{
  height:270px;
  margin-top:-10px}
.showcase-copy .concept-label{
  font-size:7px}
.carousel-bottom{
  padding:13px 18px}
.carousel-caption-label{
  font-size:7px;
  letter-spacing:1px}
.carousel-controls{
  gap:10px}
.product-tabs{
  gap:10px;
  grid-template-columns:1.5fr 1fr .75fr}
.product-tabs button{
  align-items:flex-start;
  font-size:10px;
  line-height:1.5;
  padding:16px 0;
  gap:5px}
.product-tabs button>span:last-child{
  display:none}
.product-tabs button>span:first-child{
  font-size:8px}
.about-section{
  padding-top:48px;
  padding-bottom:45px;
  grid-template-columns:1fr;
  gap:32px}
.coast-art img{
  aspect-ratio:1.45}
.about-copy h2{
  font-size:35px}
.values-strip .container{
  grid-template-columns:1fr;
  gap:27px}
.footer-top{
  grid-template-columns:1fr 1fr;
  gap:28px}
.footer-top>div:first-child{
  grid-column:1/-1}
.footer-top p br{
  display:none}
.footer-bottom{
  flex-direction:column;
  font-size:9px;
  gap:8px}
.product-detail{
  grid-template-columns:1fr;
  gap:28px}
.page-section{
  padding-top:35px;
  padding-bottom:45px}
.page-section h1{
  letter-spacing:-2px}
.page-section .lead{
  font-size:17px}
}
@media(prefers-reduced-motion:reduce){
  html{
  scroll-behavior:auto}
}



.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,8vw,110px);align-items:start;padding-top:8px}
.contact-intro{padding-top:14px}
.contact-intro .lead{max-width:490px}
.contact-place{display:flex;align-items:center;gap:9px;margin-top:36px;font-size:12px;color:var(--muted)}
.contact-card{padding:34px 36px;background:#fffefa;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 35px #183e3908}
.contact-card .form-label{font-size:12px;font-weight:700;margin-bottom:8px}
.contact-card .form-control{border-color:#d8ddd2;background:#fbfaf6;font-size:14px;padding:13px 14px;color:var(--ink)}
.contact-card .form-control::placeholder{color:#9aa39a}
.contact-card .form-control:focus{border-color:#638575;box-shadow:0 0 0 .2rem #56876a24}
.contact-card .message-field{resize:vertical;min-height:145px}
.contact-card .validation-message{display:block;margin-top:6px;color:#a84031;font-size:11px}
.form-privacy{font-size:11px;line-height:1.6;color:var(--muted);margin:20px 0}
.form-privacy a,.prose a{color:#24594e;text-decoration:underline;text-underline-offset:3px}
.contact-submit{font-size:12px;padding:13px 18px;background:var(--ink);border-color:var(--ink)}
.contact-submit span{margin-left:28px}
.contact-submit:hover{background:#24594e;border-color:#24594e}
.form-feedback{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:9px;font-size:14px;line-height:1.65}
.form-feedback h2{font-size:20px;margin:0 0 7px}
.form-feedback p{margin:0;color:var(--muted)}
.form-success{background:#e9efe5;border:1px solid #d6e2d2}
.form-error{margin-bottom:22px;background:#f8ebe6;border:1px solid #efd2c9;color:#803a30}
.feedback-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#d4e2d0;color:#24594e;font-weight:700}
.contact-more{margin-top:45px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}
.contact-more a{color:var(--ink);font-weight:700}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:32px}.contact-intro{padding-top:0}.contact-place{margin-top:20px}.contact-card{padding:27px 24px}}
@media(max-width:420px){.contact-card{padding:23px 18px}.contact-more{font-size:11px}}
@media(max-width:380px){.header-inner .brand{font-size:14px;gap:6px}.header-inner .brand img{width:35px;height:35px}.header-inner .brand small{font-size:6px;letter-spacing:1.25px}}

.footer-top h2 a{color:var(--ink)}
.explore-page>h1{margin-bottom:14px}
.explore-page>h1 span{color:#74836a}
.explore-page>.lead{margin:0 0 42px}
.explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.explore-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fffefa;transition:transform .2s ease,box-shadow .2s ease}
.explore-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px #183e3910}
.explore-card>img,.explore-art{display:flex;width:100%;aspect-ratio:1.48;object-fit:cover}
.explore-card-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:21px 22px 23px}
.explore-category{font-size:8px;font-weight:700;letter-spacing:1.5px;color:#6d7d6d}
.explore-card h2{font-size:21px;line-height:1.2;letter-spacing:-.5px;margin:12px 0 8px}
.explore-card p{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 20px}
.explore-card-link{margin-top:auto;font-size:11px;font-weight:700;border-bottom:1px solid #a6b2a1;padding-bottom:6px}
.explore-card-link span{margin-left:20px}
.explore-art{position:relative;flex-direction:column;justify-content:center;gap:12px;padding:28px 32px;overflow:hidden}
.explore-art>span:first-child{font-size:8px;font-weight:700;letter-spacing:2px;position:relative;z-index:1}
.explore-art strong{font-size:clamp(28px,3vw,44px);line-height:.94;letter-spacing:-2px;position:relative;z-index:1}
.explore-art .art-mark{position:absolute;right:25px;bottom:12px;font-size:95px;line-height:1;opacity:.16}
.revision-art{background:#d7dfba;color:#2f472f}
.revision-art:after{content:"";position:absolute;width:165px;height:165px;border:1px solid #2f472f33;border-radius:50%;right:-22px;top:-40px;box-shadow:0 0 0 14px #2f472f0b,0 0 0 29px #2f472f0a}
.news-art{background:#dae4ea;color:#253d4e}
.news-art:after{content:"";position:absolute;width:210px;height:210px;border:1px solid #253d4e25;border-radius:50%;right:-45px;bottom:-105px;box-shadow:0 0 0 18px #253d4e08,0 0 0 38px #253d4e08}
.product-placeholder{display:flex;min-height:300px;flex-direction:column;justify-content:center;gap:16px;padding:36px;border-radius:16px;position:relative;overflow:hidden;font-weight:700}
.product-placeholder>span{font-size:10px;letter-spacing:2px;z-index:1}
.product-placeholder>strong{font-size:clamp(38px,5vw,64px);line-height:.92;letter-spacing:-3px;white-space:pre-line;z-index:1}
@media(max-width:991px){.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.explore-grid{grid-template-columns:1fr;gap:17px}.explore-card>img,.explore-art{aspect-ratio:1.65}.explore-page>.lead{margin-bottom:30px}.explore-art strong{font-size:44px}.product-placeholder{min-height:245px}}
/* Live app collection: shared branding for the carousel, cards and detail pages. */
.story-content{padding-top:8px;padding-bottom:0}
.story-page .about-copy h1{font-size:40px;letter-spacing:-1.7px;line-height:1.12;margin:20px 0}
@media(max-width:680px){.story-page .about-copy h1{font-size:35px}}
.showcase h2{white-space:pre-line}
.showcase-copy{padding:40px 30px 40px 48px}
.showcase-copy p{max-width:420px}
.product-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.product-tabs button{min-width:0}
.collection-link{margin-top:22px}
.biscuit-slide{background:#e7d7b4}
.word-slide{background:#d9eeff;color:#21334f}
.buy-slide{background:#d7efea;color:#004f54}
.news-slide{background:#182726;color:#eef1ed}
.mixology-slide{background:#231b15;color:#ffdf9a}
.todoo-slide{background:#eef0f4;color:#23262d}
.news-slide .pill,.mixology-slide .pill{border-color:#ffffff50}
.product-art{width:100%;min-width:0;aspect-ratio:1.48;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;position:relative;overflow:hidden}
.showcase-slide>.product-art{height:100%;min-height:454px;aspect-ratio:auto}
.product-art-biscuit{background:#091d19}
.product-art-word{background:#b8e9ff}
.product-art-buy{background:#f3faf8;color:#004f54}
.product-art-news{background:radial-gradient(ellipse at 50% 100%,#34564d,#101718 80%);color:#eef1ed}
.product-art-todoo{background:#eef0f4;color:#23262d}
.product-art-mixology{background:radial-gradient(ellipse at 50% 80%,#4c3622,#0a0706 85%);color:#ffdf9a}
.app-feature{display:block;width:100%;height:auto;object-fit:contain;border-radius:9px}
.app-logo{width:min(90%,320px);height:auto}
.app-wordmark{font-size:clamp(24px,3vw,42px);line-height:1.1;letter-spacing:-1px;position:relative;z-index:1}
.brand-subtitle{font-size:10px;line-height:1.6;text-align:center;letter-spacing:1.5px;position:relative;z-index:1}
.brand-topics{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;font-size:10px}
.brand-topics span{border:1px solid currentColor;border-radius:30px;padding:7px 12px}
.news-globe{font-size:70px;color:#a6c9a6;line-height:1;z-index:1}
.news-orbit{position:absolute;width:330px;height:330px;border:1px solid #a6c9a62b;border-radius:50%;bottom:-195px;box-shadow:0 0 0 28px #a6c9a60b,0 0 0 62px #a6c9a609}
.news-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:#edac67;left:40px;top:42px;box-shadow:0 0 14px #edac67}
.news-orbit i:nth-child(2){left:205px;top:8px}.news-orbit i:nth-child(3){left:284px;top:73px}
.note-logo{transform:rotate(-5deg);width:48px;height:48px}
.brand-notes{display:flex;gap:13px;margin-top:10px}
.brand-notes span{display:block;padding:15px 12px;font-size:11px;line-height:1.5;transform:rotate(-6deg);background:#fff3b0;color:#23262d;box-shadow:0 5px 10px #23262d18}
.brand-notes span+span{background:#ffd3e4;transform:rotate(6deg)}
.product-art-mixology .app-wordmark{font-family:Georgia,serif;letter-spacing:2px}
.cocktail-logo{width:64px;height:64px}
.product-detail>.product-art{border-radius:16px}
.product-features{padding-left:20px;color:var(--muted);font-size:14px;line-height:1.8;margin:24px 0}
.btn-product{background:var(--ink);color:var(--paper)}
.btn-product:hover{background:#24594e;color:white}
@media(min-width:681px){.showcase-slide>.product-art .note-logo{width:64px;height:64px}.showcase-slide>.product-art .cocktail-logo{width:96px;height:96px}.showcase-slide>.product-art .brand-notes span{font-size:15px;padding:22px}.showcase-slide>.product-art .brand-subtitle{font-size:12px}}
@media(max-width:680px){.showcase-copy{padding:30px 26px}.showcase h2{font-size:clamp(32px,9vw,45px)}.showcase-slide>.product-art{min-height:260px;height:260px;padding:24px}.showcase-slide>.product-art .app-feature{width:auto;max-width:100%;max-height:100%}.product-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.product-tabs button{font-size:11px;gap:8px}.product-art{aspect-ratio:1.65}.explore-card .app-wordmark{font-size:32px}}
