:root{--ink:#14251e;--forest:#263e31;--olive:#d5dc9a;--paper:#f7f7f1;--muted:#526056;--line:#d8ddd3;--white:#fff;--radius:3px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a,input{touch-action:manipulation}a,button,input{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b58b23}.container{width:min(1280px,calc(100% - 96px));margin:auto}.header{background:var(--paper);position:relative;z-index:10;border-bottom:1px solid var(--line)}.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-size:32px;font-weight:950;letter-spacing:-1.7px;text-decoration:none;line-height:1}.wordmark sup{font-size:12px;vertical-align:top;position:relative;top:3px;letter-spacing:0;margin-left:3px}nav{display:flex;gap:34px;align-items:center}nav>a{text-decoration:none;font-size:14px;font-weight:600}nav>a:not(.button):hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--ink);color:white;padding:16px 23px;text-decoration:none;font-size:14px;font-weight:700;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;min-height:48px;line-height:1.4;transition:background .15s}.button:hover{background:#365441}.button.light{color:var(--ink);background:var(--paper)}.button.light:hover{background:var(--olive)}.button.small{padding:13px 21px}.button:disabled{opacity:.65;cursor:wait}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;color:var(--paper);min-height:650px;background:#1c2b20}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-image{object-position:center 58%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(8,23,14,.82),rgba(8,23,14,.25) 57%,rgba(8,23,14,.02)),linear-gradient(0deg,rgba(8,23,14,.55),transparent 30%)}.hero-content{padding-top:83px;padding-bottom:100px}.eyebrow{font-size:12px;letter-spacing:2px;line-height:1.5;font-weight:700;margin:0 0 25px}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:clamp(60px,6.7vw,102px);letter-spacing:-5px;line-height:.98;margin:0 0 28px;font-weight:850}h2{font-size:clamp(32px,3.6vw,52px);letter-spacing:-1.9px;line-height:1.08;margin:0}h3{font-size:24px;letter-spacing:-.7px;line-height:1.2;margin:0 0 15px}p{margin:0 0 18px}.hero-intro{font-size:18px;max-width:425px;line-height:1.6}.actions{display:flex;align-items:center;gap:28px;margin-top:33px}.text-link{font-size:14px;text-decoration:none;border-bottom:1px solid #9ca797;padding:9px 0}.text-link span{margin-left:15px}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.8px;font-weight:700}.range-strip{background:var(--olive);padding:21px 24px;display:flex;justify-content:center;gap:64px;font-size:13px;letter-spacing:2px;font-weight:700}.section{padding-top:96px;padding-bottom:96px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:38px}.section-top .eyebrow{margin-bottom:16px}.section-top>p{max-width:390px;color:var(--muted);font-size:15px;margin:0}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{padding:27px 27px 22px;background:#edf0e7;min-height:257px;display:flex;flex-direction:column;border:1px solid #e1e6da}.product-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:33px}.product-number{font-size:11px;letter-spacing:1px;font-weight:700}.badge{font-size:12px;white-space:nowrap;padding:3px 9px;border:1px solid #bac4ae;border-radius:30px}.product-card h3{font-size:27px}.product-card p{color:var(--muted);font-size:15px;max-width:295px}.product-note{display:block;margin-top:auto;padding-top:15px;border-top:1px solid #ccd5c2;font-size:12px;text-decoration:none}.product-note span{float:right}.dark-card{background:var(--forest);color:var(--paper);border-color:var(--forest)}.dark-card p{color:#d8e0d6}.dark-card .badge{border-color:#657560}.dark-card .product-note{border-color:#64745d}.dark-card a:hover{text-decoration:underline}.range-note{font-size:13px;color:var(--muted);margin:23px 0 0}.about{background:#e5e9de;padding:83px 0}.about-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:100px;align-items:center}.about h2{font-size:clamp(34px,3.3vw,48px)}.about h2 span{color:#5c6954}.about-copy{font-size:16px}.about-copy img{width:115px;height:115px;border-radius:50%;margin-bottom:25px}.about-copy p:last-child{margin-bottom:0}.washer-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.washer-visual{margin:0;background:#e4e1dc;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.washer-visual img{width:100%;height:auto}.washer-visual figcaption{font-size:10px;line-height:1.5;letter-spacing:1px;padding:18px 20px;border-top:1px solid #cbc9c2}.washer-copy .eyebrow{margin-bottom:20px}.washer-copy h2{margin-bottom:26px}.washer-copy>p:not(.eyebrow){color:var(--muted);font-size:16px}.washer-copy .development-status{font-weight:700;color:var(--ink)!important;padding-top:5px}.washer-copy .button{margin-top:10px}.why{padding-bottom:100px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid var(--line);padding-top:29px}.benefit-grid article>span{font-size:12px;display:block;margin-bottom:28px;color:#697557}.benefit-grid h3{font-size:20px}.benefit-grid p{font-size:15px;color:var(--muted);margin:0}.updates{background:var(--forest);color:var(--paper);padding:80px 0}.updates-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.updates .eyebrow{color:var(--olive);margin-bottom:20px}.updates h2{font-size:43px;line-height:1.1;margin-bottom:24px}.updates p{color:#dee5da;max-width:420px}form>label{display:block;font-size:14px;font-weight:700;margin-bottom:10px}.email-row{display:flex;gap:8px}.email-row input{min-width:0;flex:1;border:1px solid #a4b09b;background:transparent;color:white;border-radius:3px;padding:15px 13px;width:100%}.email-row input::placeholder{color:#d2dacd}.email-row .button{gap:16px;white-space:nowrap;padding:15px 18px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:400;line-height:1.6;margin-top:19px}.consent input{width:18px;height:18px;flex:none;accent-color:var(--olive);margin:1px 0 0}.form-note{font-size:12px;line-height:1.6;margin-top:14px}.updates #form-status{margin-top:15px;font-size:14px;font-weight:600}.updates #form-status[data-state="error"]{color:#ffdfad}footer{padding:44px 0 24px;background:var(--ink);color:var(--paper)}.footer-top{display:flex;align-items:center;gap:30px;padding-bottom:40px}.footer-top>p{font-size:13px;color:#c1cabd;margin:0}.footer-links{margin-left:auto;display:flex;gap:18px;flex-wrap:wrap;font-size:12px}.footer-links>span{color:#aebaab}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #43513c;padding-top:20px;font-size:11px;color:#c1cabd}.skip-link{position:absolute;left:15px;top:-80px;z-index:30;padding:12px;background:white;color:var(--ink)}.skip-link:focus{top:10px}.legal{max-width:760px;min-height:62vh;padding-top:70px;padding-bottom:80px}.legal h1{font-size:52px;letter-spacing:-2px;line-height:1.1;margin-top:35px}.legal h2{font-size:24px;letter-spacing:-.5px;margin:35px 0 15px}.legal .notice{background:#e5e9de;padding:20px;border-left:3px solid #62764d}.legal p,.legal li{color:var(--muted)}
@media(min-width:1600px){.hero{min-height:760px}.hero-content{padding-top:115px}}@media(max-width:1050px){.container{width:calc(100% - 64px)}nav{gap:22px}.product-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:50px}.washer-grid{gap:40px}.updates-grid{gap:40px}.email-row{flex-direction:column}.footer-top{flex-wrap:wrap}.footer-links{margin-left:0;width:100%}.hero{min-height:630px}}@media(max-width:700px){html{scroll-padding-top:24px}.container{width:calc(100% - 40px)}.header-inner{height:76px}.wordmark{font-size:28px}.menu-toggle{display:flex;gap:16px;align-items:center;min-height:44px;background:none;border:1px solid var(--line);padding:6px 12px;font-size:14px;color:var(--ink);border-radius:3px}nav{display:none;position:absolute;top:76px;left:0;right:0;padding:15px 20px 25px;background:var(--paper);box-shadow:0 8px 10px #12251a14;align-items:stretch;gap:0}nav.open{display:flex;flex-direction:column}nav>a{padding:13px 0}nav .button{margin-top:9px}h1{font-size:66px;letter-spacing:-3.5px}.hero{min-height:740px}.hero-content{padding-top:44px;padding-bottom:280px}.hero-image{object-position:68% center}.hero-shade{background:linear-gradient(180deg,rgba(8,23,14,.80),rgba(8,23,14,.44) 46%,rgba(8,23,14,.02) 78%,rgba(8,23,14,.6))}.hero-intro{font-size:16px;max-width:340px}.eyebrow{font-size:11px;margin-bottom:22px}.actions{gap:21px;margin-top:24px;flex-wrap:wrap}.actions .button{padding:14px 17px;gap:15px}.text-link{font-size:13px}.hero-bottom{font-size:9px;letter-spacing:1px;gap:20px}.hero-bottom span:last-child{text-align:right}.range-strip{gap:20px;font-size:10px;letter-spacing:1px;padding:18px 14px}.section{padding-top:60px;padding-bottom:60px}.section-top{display:block;margin-bottom:27px}.section-top>p{margin-top:21px;font-size:14px}.section-top>p br{display:none}.product-grid{gap:12px}.product-card{padding:20px;min-height:265px}.product-top{flex-wrap:wrap;gap:9px;margin-bottom:24px}.product-card h3{font-size:23px}.product-card p{font-size:14px}.product-number{font-size:10px}.badge{font-size:11px}.range-note{font-size:12px}.about{padding:57px 0}.about-grid,.washer-grid,.updates-grid{grid-template-columns:1fr;gap:34px}.about h2{font-size:36px}.about-copy img{width:95px;height:95px}.about-copy{font-size:15px}.washer-visual{order:1}.washer-copy h2{font-size:43px}.washer-copy>p:not(.eyebrow){font-size:15px}.washer-copy .button{width:100%;justify-content:space-between}.benefit-grid{grid-template-columns:1fr 1fr;gap:28px 22px}.benefit-grid article>span{margin-bottom:15px}.benefit-grid h3{font-size:19px}.benefit-grid p{font-size:14px}.why{padding-bottom:60px}.updates{padding:57px 0}.updates-grid{gap:25px}.updates h2{font-size:36px}.updates p{font-size:15px}.email-row{flex-direction:row}.email-row .button{font-size:12px;padding:14px 12px;gap:8px}.updates .form-note{font-size:12px}.footer-top{gap:18px;padding-bottom:28px}.footer-top>p{font-size:12px}.footer-links{gap:14px 20px}.footer-bottom{flex-direction:column;gap:8px;font-size:10px}.legal h1{font-size:42px}.legal{padding-top:40px}}@media(max-width:400px){.product-grid{grid-template-columns:1fr}.product-card{min-height:225px}.product-top{justify-content:space-between}.email-row{flex-direction:column}h1{font-size:58px}.hero{min-height:740px}.actions{gap:16px}.text-link span{margin-left:5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:700px){.hero{background:#1c2b20}.hero-image{top:auto;bottom:0;height:420px;object-position:80% center}.hero-content{padding-bottom:390px}.hero-shade{background:linear-gradient(180deg,#1c2b20 0%,#1c2b20 42%,rgba(28,43,32,.12) 65%,rgba(8,23,14,.1) 80%,rgba(8,23,14,.65))}}
.washer-grid{grid-template-columns:minmax(0,700px);gap:0}

/* Stage 2: homepage refinement. Existing utility-page styles remain above. */
:root {
  --space-section: 64px;
  --space-grid: 24px;
}
[hidden] { display: none !important; }
/* Keep navigation available when JavaScript is unavailable. */
@media (max-width: 700px) {
  .header-inner { height: auto; min-height: 76px; flex-wrap: wrap; padding-block: 18px; gap: 18px; }
  #navigation { display: flex; position: static; width: 100%; flex-wrap: wrap; flex-direction: row; gap: 8px 24px; padding: 0; box-shadow: none; }
  #navigation > a { padding: 8px 0; }
  .menu-ready .header-inner { min-height: 76px; padding-block: 14px; }
  .menu-ready #navigation { display: none; }
  .menu-ready #navigation.open { display: flex; }
}
.homepage .container { width: min(1280px, calc(100% - 40px)); }
.homepage h1 { font-size: clamp(48px, 13vw, 72px); letter-spacing: -.055em; line-height: 1.02; }
.homepage h2 { font-size: clamp(32px, 7.7vw, 44px); letter-spacing: -.04em; line-height: 1.12; }
.homepage h3 { font-size: 23px; line-height: 1.2; letter-spacing: -.025em; }
.homepage .eyebrow { font-size: 12px; letter-spacing: 1.8px; margin-bottom: 20px; }
.homepage .section { padding-block: var(--space-section); }
.homepage .hero { min-height: 0; background: #1c2b20; }
.homepage .hero-content { padding-top: 46px; padding-bottom: 330px; position: relative; }
.homepage .hero-intro { font-size: 17px; max-width: 430px; margin-bottom: 26px; }
.homepage .hero-image { top: auto; bottom: 0; height: 340px; object-position: 78% center; }
.homepage .hero-shade { background: linear-gradient(180deg,#1c2b20 0%,#1c2b20 50%,rgba(28,43,32,.15) 75%,rgba(28,43,32,.06) 100%); }
.homepage .hero .button { font-size: 14px; padding: 15px 18px; gap: 16px; max-width: 100%; }
.homepage .hero-status { font-size: 14px; color: #e0e6d9; max-width: 345px; line-height: 1.55; margin: 18px 0 0; }
.homepage .range-strip { gap: 20px; letter-spacing: 1px; font-size: 11px; padding: 18px 10px; }
.purpose-grid { display: grid; gap: 26px; }
.purpose-grid p { font-size: 17px; color: var(--muted); max-width: 590px; }
.purpose-grid p:last-child { margin-bottom: 0; }
.development { background: #e9ede3; }
.homepage .section-top { display: block; margin-bottom: 28px; }
.homepage .section-top > p { font-size: 16px; margin-top: 22px; max-width: 390px; }
.development-note { font-size: 14px; color: var(--muted); margin-bottom: 24px; }
.homepage .product-grid { grid-template-columns: 1fr; gap: 16px; }
.homepage .product-card { padding: 25px; min-height: 0; background: var(--paper); border-color: #d5dccd; }
.homepage .product-top { align-items: flex-start; flex-wrap: wrap; gap: 12px; margin-bottom: 30px; }
.homepage .product-number { font-size: 12px; }
.homepage .badge { font-size: 12px; white-space: normal; }
.homepage .product-card h3 { font-size: 24px; }
.homepage .product-card p { font-size: 16px; margin: 0; max-width: none; }
.future-product { display: grid; gap: 20px; border-top: 1px solid #bfc9b5; margin-top: 36px; padding-top: 32px; }
.future-product .eyebrow { margin-bottom: 12px; }
.future-product h3 { margin: 0; }
.future-product p:not(.eyebrow) { color: var(--muted); margin-bottom: 14px; }
.principle-grid { display: grid; gap: 32px; }
.principle-grid article { border-top: 1px solid var(--line); padding-top: 24px; }
.principle-number { display: block; font-size: 13px; color: var(--muted); margin-bottom: 22px; }
.principle-grid p { color: var(--muted); font-size: 16px; margin: 0; }
.homepage .updates { padding-block: var(--space-section); }
.homepage .updates-grid { grid-template-columns: 1fr; gap: 30px; }
.homepage .updates h2 { font-size: clamp(36px, 8vw, 48px); }
.homepage .updates p { font-size: 16px; }
.signup-slot { border: 1px solid #73856c; padding: 28px; }
.homepage .signup-slot .signup-label { font-size: 18px; color: var(--paper); font-weight: 700; margin-bottom: 12px; }
.signup-slot p:last-child { margin: 0; }
.social-interest { display: grid; gap: 16px; padding-block: 36px; }
.homepage .social-interest h2 { font-size: 23px; letter-spacing: -.025em; }
.social-interest p { color: var(--muted); margin: 0; font-size: 15px; max-width: 510px; }
.site-footer .footer-top { justify-content: space-between; align-items: flex-start; padding-bottom: 28px; }
.site-footer .footer-tagline { font-size: 14px; color: #c1cabd; margin: 16px 0 0; }
.site-footer .footer-links { font-size: 14px; gap: 12px 24px; }
.site-footer .footer-links a { padding-block: 6px; }
.site-footer .footer-bottom { font-size: 12px; }
@media (min-width: 600px) {
  .homepage .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 701px) {
  :root { --space-section: 84px; }
  .homepage .container { width: min(1280px,calc(100% - 64px)); }
  .homepage .hero { min-height: 570px; }
  .homepage .hero-content { padding-block: 76px; }
  .homepage h1 { font-size: clamp(68px,8vw,106px); }
  .homepage .hero-image { inset: 0; height: 100%; object-position: 68% center; }
  .homepage .hero-shade { background: linear-gradient(90deg,rgba(8,23,14,.9),rgba(8,23,14,.55) 48%,rgba(8,23,14,.04) 78%); }
  .homepage .hero-intro { max-width: 390px; }
  .homepage .range-strip { font-size: 12px; gap: 60px; }
  .purpose-grid { grid-template-columns: 1fr 1.2fr; gap: 50px; }
  .homepage h2 { font-size: clamp(36px,4vw,50px); }
  .future-product { grid-template-columns: 1fr 1.2fr; gap: 50px; }
  .principle-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
  .homepage .updates-grid { grid-template-columns: 1fr 1fr; gap: 50px; }
  .social-interest { grid-template-columns: 1fr 1fr; align-items: center; gap: 50px; }
  .site-footer .footer-links { margin-left: auto; width: auto; }
}
@media (min-width: 1100px) {
  :root { --space-section: 96px; }
  .homepage .container { width: min(1280px,calc(100% - 96px)); }
  .homepage .hero { min-height: 620px; }
  .homepage .hero-content { padding-block: 90px; }
  .homepage .hero-image { object-position: center 58%; }
  .homepage .hero-intro { max-width: 440px; font-size: 18px; }
  .homepage .section-top { display: flex; align-items: flex-end; gap: 40px; }
  .homepage .section-top > p { margin-top: 0; }
  .homepage .product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .homepage .product-card { padding: 24px; }
  .homepage .product-top { min-height: 63px; align-content: flex-start; }
}

/* Stage 3: About page. Scoped to preserve the approved homepage. */
.about-page .container { width: min(1280px, calc(100% - 40px)); }
.about-page h1 { font-size: clamp(42px, 8vw, 76px); line-height: 1.06; letter-spacing: -.05em; margin: 0 0 28px; }
.about-page h1 sup { font-size: .28em; vertical-align: top; position: relative; top: .24em; margin-left: .15em; letter-spacing: 0; }
.about-page h2 { font-size: clamp(30px, 4vw, 44px); line-height: 1.12; letter-spacing: -.04em; }
.about-page h3 { font-size: 23px; line-height: 1.2; letter-spacing: -.025em; }
.about-page .eyebrow { font-size: 12px; letter-spacing: 1.8px; margin-bottom: 20px; }
.story-opening { padding-block: var(--space-section); border-bottom: 1px solid var(--line); }
.story-intro { font-size: 18px; max-width: 650px; color: var(--muted); margin: 0; }
.story-section { padding-block: var(--space-section); }
.story-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.story-copy { max-width: 640px; min-width: 0; }
.story-copy p { font-size: 16px; color: var(--muted); }
.story-copy p:last-child { margin-bottom: 0; }
.story-copy .story-status { font-size: 14px; }
.story-principles { background: #e9ede3; }
.story-principle-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 36px; }
.story-principle-grid article { border-top: 1px solid #bfc9b5; padding-top: 24px; min-width: 0; }
.story-principle-grid p { font-size: 16px; color: var(--muted); margin: 0; }
.dog-commitment { background: var(--forest); color: var(--paper); }
.dog-commitment .story-copy p { color: #dee5da; }
.dog-commitment .commitment-statement { font-size: clamp(23px, 3vw, 32px); line-height: 1.35; font-weight: 700; color: var(--paper); letter-spacing: -.025em; }
@media (min-width: 701px) {
  .about-page .container { width: min(1280px, calc(100% - 64px)); }
  .story-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 50px; }
  .story-principle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 50px; }
}
@media (min-width: 1100px) {
  .about-page .container { width: min(1280px, calc(100% - 96px)); }
  .story-opening { padding-block: 96px 72px; }
  .story-principle-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
}

/* Stage 4: Contact and message confirmation. Existing page styles retained. */
.footer-email { display: inline-block; font-size: 14px; margin-top: 10px; overflow-wrap: anywhere; }
.contact-page .container { width: min(1280px, calc(100% - 40px)); }
.contact-shell { padding-block: var(--space-section); }
.contact-page h1 { font-size: clamp(40px, 7vw, 68px); letter-spacing: -.05em; line-height: 1.08; margin: 0 0 24px; }
.contact-page h2 { font-size: 25px; letter-spacing: -.025em; line-height: 1.2; margin: 0 0 16px; }
.contact-opening { max-width: 740px; margin-bottom: 36px; }
.contact-opening > p { font-size: 17px; color: var(--muted); margin: 0; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; }
.contact-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.form-field { min-width: 0; }
.form-field label { display: block; font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.form-field input, .form-field textarea { width: 100%; min-width: 0; border: 1px solid #7b8b7b; border-radius: var(--radius); padding: 12px 13px; background: var(--white); color: var(--ink); font: inherit; font-size: 16px; line-height: 1.5; }
.form-field input { min-height: 48px; }
.form-field textarea { min-height: 160px; resize: vertical; display: block; }
.form-field textarea:focus-visible { outline: 3px solid #b58b23; outline-offset: 5px; }
.form-field [aria-invalid="true"] { border-color: #874427; }
.field-error { font-size: 14px; color: #874427; margin: 7px 0 0; }
.contact-page .form-help { font-size: 14px; color: var(--muted); margin-bottom: 20px; }
.contact-page .contact-privacy { margin-top: 22px; line-height: 1.6; }
#contact-form .button { min-height: 48px; width: 100%; }
.contact-status { min-height: 1.6em; font-size: 14px; margin: 14px 0 0; }
.contact-status[data-state="error"] { color: #874427; }
.contact-alternative { border-top: 1px solid var(--line); padding-top: 28px; }
.contact-email { font-size: 21px; font-weight: 700; overflow-wrap: anywhere; }
.contact-alternative p { font-size: 15px; color: var(--muted); margin: 18px 0 0; max-width: 330px; }
.thanks-shell { min-height: 60vh; }
.thanks-shell > p { max-width: 650px; color: var(--muted); font-size: 18px; }
.thanks-shell .button { margin-top: 12px; }
@media (min-width: 701px) {
  .contact-page .container { width: min(1280px, calc(100% - 64px)); }
  .contact-layout { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 48px; align-items: start; }
  .contact-alternative { border-top: 0; border-left: 1px solid var(--line); padding-top: 0; padding-left: 32px; }
  #contact-form .button { width: auto; min-width: 160px; }
}
@media (min-width: 1000px) {
  .contact-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-fields .field-wide { grid-column: 1 / -1; }
}
@media (min-width: 1100px) {
  .contact-page .container { width: min(1280px, calc(100% - 96px)); }
  .contact-layout { grid-template-columns: minmax(0, 740px) minmax(0, 1fr); gap: 64px; }
}

/* Stage 5: newsletter component within the existing signup panel. */
#newsletter-form[hidden], #newsletter-success[hidden] { display: none; }
.newsletter-field { margin-bottom: 18px; min-width: 0; }
.newsletter-field label { display: block; font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.newsletter-field label span { font-weight: 400; }
.newsletter-field input { width: 100%; min-width: 0; min-height: 50px; border: 1px solid #a4b09b; border-radius: var(--radius); padding: 12px 13px; background: var(--paper); color: var(--ink); font-size: 16px; }
.homepage .signup-slot .newsletter-consent { font-size: 14px; line-height: 1.6; max-width: none; margin: 20px 0; }
.homepage .signup-slot .newsletter-error, #newsletter-status[data-state="error"] { color: #ffdfad; font-size: 14px; }
.newsletter-error { margin: 8px 0 0; }
#newsletter-status:empty { display: none; }
#newsletter-status { margin: 16px 0 0; }
.newsletter-success h3 { font-size: 26px; margin: 0 0 16px; }
.newsletter-success a { overflow-wrap: anywhere; }
.newsletter-success:focus { outline: 3px solid #b58b23; outline-offset: 6px; }
@media(max-width:700px) { #newsletter-form .button { width: 100%; } .signup-slot { padding: 24px; } }

/* Stage 6: shared, text-only social links; no third-party assets or scripts. */
.social-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; list-style: none; padding: 0; margin: 12px 0 0; }
.social-links li { margin: 0; padding: 0; }
.social-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; font-size: 15px; font-weight: 600; text-decoration: underline; }
.social-links a:hover { text-decoration-thickness: 2px; }
.homepage .social-interest .social-handle { margin-top: 8px; font-size: 14px; }
footer .social-links { margin: 0 0 20px; }
footer .social-links a { font-size: 14px; color: var(--paper); }

/* V3.1: approved family story and locked logo assets. */
.brand-wordmark { display: inline-flex; align-items: center; width: 200px; flex-shrink: 0; }
.brand-wordmark img, .brand-full-logo img { width: 100%; height: auto; }
.brand-full-logo { display: block; width: 320px; max-width: 100%; }
.site-footer .footer-top > div { min-width: 0; max-width: 100%; }
.family-story-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; align-items: start; }
.family-photo { margin: 0; max-width: 440px; }
.family-photo img { width: 100%; height: auto; border-radius: var(--radius); }
.family-photo figcaption { margin-top: 12px; color: var(--muted); font-size: 14px; }
.family-story-row h2 { margin-bottom: 28px; }
@media (min-width: 800px) {
  .family-story-row { grid-template-columns: minmax(0, .85fr) minmax(0, 1.2fr); gap: clamp(36px, 6vw, 88px); }
}
@media (max-width: 700px) {
  .header-inner { gap: 12px; }
  .brand-wordmark { width: 180px; }
}
.homepage .hero .hero-range-button {
  color: var(--paper);
  background: transparent;
  border: 1px solid rgba(247, 247, 241, .72);
  border-radius: 2px;
  padding: 14px 24px;
  min-height: 48px;
  max-width: 100%;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: .01em;
}
.homepage .hero .hero-range-button:hover {
  background: var(--paper);
  color: var(--ink);
  border-color: var(--paper);
}
.homepage .hero .hero-range-button:focus-visible {
  outline: 3px solid var(--paper);
  outline-offset: 5px;
}
/* Stage 7: concise company information and legal footer links. */
.company-information { font-size: 13px; line-height: 1.6; margin: 16px 0; }
.legal-footer-links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 12px; }
.legal-footer-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
