:root{--paper:#f3f0e7;--ink:#292c25;--muted:#5f6157;--line:#c8c8bc;--green:#292f25;--green-2:#343b2f;--stone:#e6e5db;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,p{margin-top:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.skip{position:absolute;top:-80px;left:20px;z-index:20;padding:15px;background:var(--paper);color:var(--ink)}
.skip:focus{top:10px}
[hidden]{display:none!important}

/* Header */
.site-header{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:18px 4.5%;color:#fff;border-bottom:1px solid #ffffff40}
.brand{display:inline-flex;align-items:center;flex-shrink:0;min-height:44px;line-height:0}
.brand-text{display:block;font-family:var(--serif);font-size:21px;line-height:.95;letter-spacing:.01em;color:#f3f0e7;white-space:nowrap}
.site-nav{display:flex;gap:34px}
.site-nav a{font-size:14px;padding:8px 0;border-bottom:1px solid transparent}
.site-nav a:hover{border-color:currentColor}
.menu-toggle{display:none;align-items:center;gap:10px;min-height:44px;padding:0 4px;background:none;border:0;color:#fff;cursor:pointer;font-size:14px}
.menu-icon,.menu-icon::before,.menu-icon::after{display:block;width:20px;height:1px;background:currentColor;position:relative}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0}
.menu-icon::before{top:-6px}.menu-icon::after{top:6px}

/* Hero (unchanged look) */
.hero{height:max(780px,96svh);max-height:1150px;position:relative;background:#4b4e3c;color:#fff;overflow:hidden}
.hero-image,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}
.hero-image{object-position:center 56%}
.hero-shade{background:linear-gradient(180deg,rgba(14,22,16,.45) 0%,rgba(14,22,16,.04) 30%,rgba(14,22,16,.2) 49%,rgba(14,22,16,.67) 100%)}
.hero-content{position:absolute;bottom:0;left:0;right:0;padding:0 4.5% 38px}
.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:500;line-height:1.6}
.hero-label{margin:0 0 20px}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(5rem,10.1vw,11.2rem);line-height:.85;letter-spacing:-.055em;margin:0 0 34px}
h1 span{display:inline-block;margin-top:.1em}
.hero-bottom{border-top:1px solid #ffffff65;display:flex;align-items:flex-end;justify-content:space-between;padding-top:23px;gap:25px}
.hero-bottom p{font-size:14px;line-height:1.65;margin:0}
.text-link{display:inline-block;font-size:14px;padding-bottom:8px;border-bottom:1px solid #ffffffa0;transition:opacity .2s}
.text-link:hover{opacity:.65}

/* Concept image tags */
.concept-tag{position:absolute;top:12px;left:12px;z-index:2;padding:5px 9px;background:rgba(20,24,18,.72);color:#f3f0e7;font-size:11px;letter-spacing:.06em;line-height:1.3}
.concept-tag-hero{top:auto;bottom:auto;left:auto;right:4.5%;top:92px}
.concept-tag-strong{font-size:12px;padding:7px 11px;background:rgba(20,24,18,.85)}

/* Layout */
.wrap{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:32px;padding-right:32px}
.section{padding:112px 0}
.section-green{background:var(--green);color:var(--paper)}
.section-stone{background:var(--stone)}
.label{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#4f5a45;margin:0 0 18px}
.label::before{content:"";width:28px;height:1px;background:currentColor}
.section-green .label{color:#cfd4c4}
.section h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,4vw,3.6rem);line-height:1.08;letter-spacing:-.01em;margin:0 0 24px}
.section p{font-size:17px;line-height:1.75;color:#45483f;margin:0 0 18px}
.section-green p{color:#d9ddd0}

/* Photos */
.photo{margin:0}
.photo-frame{position:relative;overflow:hidden;background:#d9d5c8;aspect-ratio:4/5}
.photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ratio-wide{aspect-ratio:3/2}
.ratio-portrait{aspect-ratio:4/5}
.photo figcaption{margin-top:12px;font-size:14px;color:var(--muted);line-height:1.5}
.placeholder{display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;background:#dcd8cb;border:1px dashed #a9a597}
.placeholder span{font-size:13px;letter-spacing:.04em;color:#55574e}
.placeholder-dark{background:#343b2f;border-color:#5e6656}.placeholder-dark span{color:#cfd4c4}
.placeholder-night{background:#1f2420;border-color:#4a4f47}.placeholder-night span{color:#cfd2c8}
.crop-ridge{object-position:22% 45%}
.crop-oak{object-position:78% 40%}
.crop-sky{object-position:15% 40%}
.crop-canopy{object-position:72% 15%;transform:scale(1.5);transform-origin:72% 15%}
.crop-grass{object-position:50% 95%;transform:scale(1.4);transform-origin:50% 100%}

/* The Land */
.land-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center}
.land-copy{max-width:470px}
.land-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:72px}

/* Lavender */
.lavender-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.lavender-intro .photo{max-width:440px;justify-self:end;width:100%}
.list-title{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#cfd4c4;margin:88px 0 0}
.updates{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid #59614f}
.updates li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid #59614f}
.update-name{font-family:var(--serif);font-size:26px;line-height:1.2}
.update-status{font-size:14px;color:#b9bfae}

/* Life Here journal */
.life-head{margin-bottom:56px}
.life-head>*{max-width:720px}
.journal{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:48px 28px;align-items:start}
.j-a{grid-column:1 / span 7}.j-a .photo-frame{aspect-ratio:4/3}
.j-b{grid-column:9 / span 4;margin-top:96px}.j-b .photo-frame{aspect-ratio:4/5}
.j-c{grid-column:2 / span 4}.j-c .photo-frame{aspect-ratio:4/5}
.j-d{grid-column:7 / span 6;margin-top:48px}.j-d .photo-frame{aspect-ratio:3/2}
.j-e{grid-column:1 / span 6}.j-e .photo-frame{aspect-ratio:3/2}
.j-f{grid-column:8 / span 4;margin-top:64px}.j-f .photo-frame{aspect-ratio:1/1}

/* Photography */
.photo-intro{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;background:var(--green);color:var(--paper);border:1px solid var(--green);border-radius:2px;font-size:15px;font-weight:500;cursor:pointer;transition:opacity .2s}
.btn:hover{opacity:.86}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn-light{background:var(--paper);color:var(--green);border-color:var(--paper)}
.notice{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.notice h3{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.04em;margin:0 0 10px}
.notice ul{margin:0;padding-left:18px}
.notice li{font-size:15px;line-height:1.65;color:#45483f;margin-bottom:6px}
.inquiry{margin-top:96px}
.inquiry-head{border-top:1px solid var(--ink);padding-top:28px;margin-bottom:28px}
.inquiry-head h3{font-family:var(--serif);font-weight:400;font-size:34px;margin:0 0 6px}
.inquiry-head p{margin:0}
.unavailable{font-size:16px;color:var(--muted);padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0}
.unavailable-dark{color:#c6cbbd;border-color:#4a5244}

/* Forms */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}
.field{display:flex;flex-direction:column;gap:8px}
.field-full{grid-column:1 / -1}
.field label,.inline-form>label{font-size:14px;font-weight:500;color:var(--ink)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:10px 12px;background:#fbfaf6;border:1px solid #a9ab9f;border-radius:2px;font-size:16px}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green)}
.field [aria-invalid="true"]{border-color:#9a3b2a}
.field-hint{font-size:13px!important;color:var(--muted);margin:0!important;line-height:1.5!important}
.field-error{font-size:13px!important;color:#9a3b2a;margin:0!important;min-height:0;line-height:1.5!important}
.field-error:empty{display:none}
.field-check{display:grid;grid-template-columns:22px 1fr;gap:4px 12px;align-items:start}
.field-check input{width:20px;height:20px;min-height:0;margin:3px 0 0;accent-color:var(--green)}
.field-check label{font-weight:400;line-height:1.55}
.field-check .field-error{grid-column:2}
.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:32px}
.form-status{font-size:15px!important;margin:0!important}
.form-status.is-success{color:#2f5a2a}.form-status.is-error{color:#9a3b2a}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.preview-note{font-size:13px!important;color:#7a5a1e;margin:12px 0 0}
.inline-form{display:flex;flex-direction:column;gap:10px;position:relative}
.inline-row{display:flex;gap:12px;flex-wrap:wrap}
.inline-row input{flex:1 1 240px;min-width:0;min-height:48px;padding:10px 12px;background:#fbfaf6;border:1px solid #a9ab9f;border-radius:2px;font-size:16px;color:var(--ink)}

/* Shop */
.shop-head{margin-bottom:56px}
.shop-head>*{max-width:680px}
.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.product h3{font-family:var(--serif);font-weight:400;font-size:26px;margin:18px 0 4px}
.concept-note{font-size:13px!important;color:var(--muted)!important;margin:0!important}
.product-stage{position:relative;aspect-ratio:1/1;background:#dcd6c8;display:flex;align-items:flex-end;justify-content:center;padding-bottom:12%;overflow:hidden}
.soon{position:absolute;top:14px;left:14px;padding:5px 10px;border:1px solid var(--green);color:var(--green);font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:var(--paper)}
.rule{display:block;height:1px;background:currentColor;width:100%}
.tag-name{font-family:var(--serif);letter-spacing:.08em;text-align:center;line-height:1.05}
.tag-sub{font-size:7px;letter-spacing:.24em;text-align:center}
.mock-bundle{position:relative;width:58%;height:82%}
.mock-bundle .stems{position:absolute;left:18%;bottom:0;width:30%;height:100%;background:linear-gradient(90deg,transparent 46%,#6f7a5c 46%,#6f7a5c 54%,transparent 54%);}
.mock-bundle .stems::before{content:"";position:absolute;left:-30%;top:0;width:160%;height:42%;background:radial-gradient(ellipse 8% 16% at 50% 20%,#8a7fa6 98%,transparent),radial-gradient(ellipse 8% 16% at 25% 32%,#8a7fa6 98%,transparent),radial-gradient(ellipse 8% 16% at 75% 32%,#8a7fa6 98%,transparent),radial-gradient(ellipse 8% 16% at 38% 50%,#8a7fa6 98%,transparent),radial-gradient(ellipse 8% 16% at 62% 50%,#8a7fa6 98%,transparent),radial-gradient(ellipse 8% 16% at 50% 68%,#8a7fa6 98%,transparent)}
.mock-bundle .tag{position:absolute;right:0;bottom:0;width:46%;height:56%;background:var(--green);color:var(--paper);clip-path:polygon(20% 0,80% 0,100% 10%,100% 100%,0 100%,0 10%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0 12%}
.mock-bundle .tag-name{font-size:clamp(11px,1.3vw,16px)}
.mock-sachet{position:relative;width:52%;height:78%;background:#ede5d4;border-radius:5px 5px 10px 10px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -12px 22px rgba(120,100,70,.12)}
.mock-sachet .tie{position:absolute;top:10%;left:8%;right:8%;height:2px;background:#59614f}
.mock-sachet .label-box{margin-top:14%;width:70%;background:var(--paper);color:var(--green);outline:1px dashed #b9ac90;outline-offset:-5px;padding:12% 8%;display:flex;flex-direction:column;align-items:center;gap:5px}
.mock-sachet .tag-name{font-size:clamp(11px,1.3vw,16px)}
.mock-box{width:70%;height:52%;background:#c4a57a;box-shadow:inset 0 14px 0 #b8986c;display:flex;align-items:center;justify-content:center}
.mock-box .seal{width:40%;aspect-ratio:1/1;border-radius:50%;background:var(--green);color:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 18%}
.seal-name{font-family:var(--serif);font-size:clamp(12px,1.6vw,20px);letter-spacing:.06em;line-height:1}
.shop-foot{margin-top:56px}
.shop-foot .inline-form{max-width:560px}

/* Footer */
.site-footer{background:var(--green);color:var(--paper)}
.footer-notes{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:end;padding-top:88px;padding-bottom:64px}
.footer-notes h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,3.6vw,3.2rem);line-height:1.08;margin:0 0 16px}
.footer-notes p{font-size:16px;line-height:1.75;color:#d9ddd0;margin:0}
.site-footer .inline-form>label{color:var(--paper)}
.site-footer .field-error{color:#f0b8a8}
.site-footer .form-status.is-success{color:#cfe3c4}.site-footer .form-status.is-error{color:#f0b8a8}
.footer-main{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;padding-top:48px;padding-bottom:48px;border-top:1px solid #4a5244}
.wordmark{display:flex;flex-direction:column;align-items:center;gap:10px;width:max-content;min-width:260px}
.wm-rule{display:block;width:100%;height:1px;background:var(--paper)}
.wm-name{font-family:var(--serif);font-size:31px;letter-spacing:.08em;line-height:1;white-space:nowrap}
.wm-sub{font-size:10px;letter-spacing:.3em;text-transform:uppercase;margin-top:4px}
.wm-sub-2{margin-top:0;color:#c6cbbd;font-size:9px}
.footer-nav{display:flex;flex-wrap:wrap;gap:6px 28px}
.footer-nav a{font-size:14px;padding:8px 0;border-bottom:1px solid transparent}
.footer-nav a:hover{border-color:currentColor}
.footer-bottom{display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;padding-top:22px;padding-bottom:32px;border-top:1px solid #4a5244;font-size:13px;color:#b8c0ac}

::selection{background:#a1ad88;color:#172013}

@media(max-width:960px){
  .menu-toggle{display:inline-flex}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:8px 6% 20px;background:rgba(41,47,37,.97)}
  .site-nav.is-open{display:flex}
  .site-nav a{font-size:17px;padding:14px 0;border-bottom:1px solid #4a5244}
  .land-intro,.lavender-intro,.photo-intro{grid-template-columns:1fr;gap:40px}
  .lavender-intro .photo{justify-self:start;max-width:none}
  .journal{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}
  .journal .photo{grid-column:auto;margin-top:0}
  .j-a,.j-e{grid-column:1 / -1!important}
  .j-a .photo-frame,.j-e .photo-frame{aspect-ratio:4/3}
  .j-b .photo-frame,.j-c .photo-frame,.j-d .photo-frame,.j-f .photo-frame{aspect-ratio:4/5}
  .shop-grid{grid-template-columns:1fr;max-width:460px}
  .footer-notes{grid-template-columns:1fr;gap:28px}
}
@media(max-width:760px){
  .site-header{padding:15px 6%}
  .brand-text{font-size:18px}
  .hero{min-height:720px;height:92svh;max-height:950px}
  .hero-image{object-position:61% center}
  .hero-content{padding:0 6% 30px}
  h1{font-size:clamp(4rem,14vw,7rem);line-height:.95;letter-spacing:-.05em;margin-bottom:28px}
  .hero-label{font-size:11px;margin-bottom:23px}
  .hero-bottom{align-items:center;padding-top:20px}
  .hero-bottom p,.hero-bottom .text-link{font-size:13px}
  .text-link{min-height:32px}
  .concept-tag-hero{top:84px}
  .wrap{padding-left:24px;padding-right:24px}
  .section{padding:76px 0}
  .section p{font-size:16px}
  .land-pair{grid-template-columns:1fr;gap:28px;margin-top:48px}
  .form-grid{grid-template-columns:1fr}
  .inquiry{margin-top:64px}
  .list-title{margin-top:56px}
  .update-name{font-size:22px}
  .wm-name{font-size:25px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Multi-page */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-nav a[aria-current="page"]{border-color:currentColor}
.page-hero{position:relative;height:clamp(420px,60vh,600px);background:#4b4e3c;color:#fff;overflow:hidden}
.page-hero-content{position:absolute;bottom:0;left:0;right:0;padding:0 4.5% 44px}
.page-hero h1{font-size:clamp(3.4rem,7.4vw,7.6rem);line-height:.9;letter-spacing:-.04em;margin:0}
.page-hero .hero-image.crop-canopy,.page-hero .hero-image.crop-grass{transform:none}
.home-intro{padding:96px 0 72px}
.intro-wrap{max-width:820px;margin-left:auto;margin-right:auto;text-align:center}
.intro-wrap p{max-width:600px;margin-left:auto;margin-right:auto}
.doors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:40px 28px}
.door{grid-column:span 2}.door-lg{grid-column:span 3}
.door a{display:block;color:inherit}
.door .photo-frame{aspect-ratio:4/3}
.door-lg .photo-frame{aspect-ratio:3/2}
.door h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.1;margin:18px 0 6px}
.door p{font-size:15px!important;margin:0 0 12px!important}
.door-link{display:inline-block;font-size:14px;padding-bottom:4px;border-bottom:1px solid var(--ink)}
.door a:hover .door-link{opacity:.65}
.door a:hover img{transform:scale(1.03)}
.door img{transition:transform .6s ease}
.door-shop{padding-bottom:6%}
@media(max-width:960px){.doors{grid-template-columns:1fr;gap:40px}.door,.door-lg{grid-column:auto}.door .photo-frame,.door-lg .photo-frame{aspect-ratio:4/3}}
@media(max-width:760px){.page-hero{height:clamp(360px,52vh,480px)}.page-hero-content{padding:0 6% 30px}.home-intro{padding:72px 0 56px}}
@media(prefers-reduced-motion:reduce){.door img{transition:none}.door a:hover img{transform:none}}

