/* Maison Guiro — lightweight editorial landing page */
:root {
  --paper: #f5f3ec;
  --paper-deep: #e9e6dc;
  --ink: #252c25;
  --muted: #72786d;
  --olive: #596b50;
  --olive-dark: #354536;
  --line: rgba(37,44,37,.18);
  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.announcement { min-height: 31px; display:flex; justify-content:center; align-items:center; gap:12px; background:var(--olive-dark); color:#f5f3ec; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.announcement span { color:#d9cda9; font-size:12px; }
.site-header { height:82px; padding:0 7.2%; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:relative; z-index:5; background:var(--paper); }
.wordmark { font-size:15px; letter-spacing:.22em; font-weight:500; line-height:1.2; white-space:nowrap; }
.wordmark span { display:block; font-family:var(--serif); font-size:21px; letter-spacing:.24em; margin-top:3px; }
.main-nav { display:flex; align-items:center; gap:39px; font-size:11px; letter-spacing:.04em; }
.main-nav a { transition:opacity .2s; }
.main-nav a:hover { opacity:.55; }
.nav-contact { border:1px solid var(--ink); padding:12px 17px; }
.nav-contact span { margin-left:15px; }
.menu-toggle { display:none; }
.hero { min-height:650px; display:grid; grid-template-columns: .88fr 1.12fr; padding:0 7.2%; overflow:hidden; }
.hero-copy { padding:110px 30px 55px 0; position:relative; z-index:1; }
.eyebrow { font-size:9px; letter-spacing:.19em; font-weight:600; color:var(--olive); margin:0 0 22px; }
.eyebrow-line { display:inline-block; width:28px; height:1px; background:var(--olive); vertical-align:middle; margin-right:9px; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--serif); font-weight:400; letter-spacing:-.045em; }
h1 { font-size:clamp(58px,6.8vw,98px); line-height:.99; margin:0 0 27px; }
h1 em,h2 em,h3 em { font-weight:400; color:var(--olive); }
.hero-intro { max-width:365px; color:#646b60; font-size:13px; line-height:1.9; margin-bottom:30px; }
.text-link { display:inline-flex; align-items:center; gap:35px; padding-bottom:9px; border-bottom:1px solid var(--olive); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.text-link span { font-size:16px; }
.hero-footnote { position:absolute; bottom:49px; color:#85897f; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.small-star { color:var(--olive); font-size:16px; margin-right:8px; vertical-align:-2px; }
.hero-art { min-height:650px; position:relative; background:#e7e5d9; overflow:hidden; }
.hero-art:before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 48% 40%,rgba(255,255,255,.55),transparent 58%),linear-gradient(140deg,#e8e7dc,#d8ddce); }
.sun-disc { position:absolute; width:390px; height:390px; border-radius:50%; background:#d6d8c7; top:95px; left:50%; transform:translateX(-50%); opacity:.8; }
.art-orbit { position:absolute; border:1px solid rgba(73,91,68,.22); border-radius:50%; transform:rotate(-24deg); }
.orbit-one { width:530px; height:260px; top:165px; left:8%; }
.orbit-two { width:600px; height:330px; top:145px; left:1%; transform:rotate(22deg); }
.bottle { position:absolute; z-index:2; filter:drop-shadow(24px 28px 18px rgba(38,48,37,.19)); }
.bottle-hero { width:194px; height:390px; top:143px; left:50%; transform:translateX(-50%) rotate(-2deg); }
.bottle-cap { position:absolute; top:0; left:69px; width:56px; height:32px; border-radius:5px 5px 2px 2px; background:linear-gradient(90deg,#3b4d3d,#6c7a60 45%,#344536); }
.bottle-neck { position:absolute; top:28px; left:59px; width:76px; height:45px; background:linear-gradient(90deg,#9aa28d,#d5d5c2 42%,#89947e); }
.bottle-body { position:absolute; top:65px; left:0; width:194px; height:325px; border-radius:27px 27px 36px 36px; background:linear-gradient(90deg,#a9b09a,#d7d8c8 25%,#e6e4d5 52%,#aab19b); border:1px solid rgba(255,255,255,.5); display:flex; flex-direction:column; align-items:center; padding-top:53px; color:#354536; text-align:center; }
.bottle-brand { font-family:var(--sans); font-size:9px; letter-spacing:.2em; line-height:1.65; }
.bottle-brand b { font-family:var(--serif); font-size:20px; font-weight:500; letter-spacing:.23em; }
.bottle-rule { width:43px; height:1px; background:#65745d; margin:18px 0 16px; }
.bottle-label { font-family:var(--serif); font-size:17px; line-height:1.2; letter-spacing:.04em; }
.bottle-sub { font-size:7px; letter-spacing:.2em; margin-top:10px; }
.bottle-volume { position:absolute; bottom:21px; font-size:6px; letter-spacing:.15em; }
.hero-leaf { position:absolute; z-index:1; width:130px; height:45px; border:1px solid rgba(68,91,62,.5); border-radius:100% 0 100% 0; transform:rotate(-35deg); }
.leaf-one { left:12%; bottom:145px; }
.leaf-two { right:7%; top:185px; transform:rotate(145deg); width:100px; }
.hero-stone { position:absolute; background:linear-gradient(145deg,#f0eee4,#c6c8b7); border-radius:50%; box-shadow:12px 18px 20px rgba(49,59,45,.1); }
.stone-one { width:145px; height:55px; bottom:91px; left:17%; transform:rotate(-8deg); }
.stone-two { width:110px; height:43px; bottom:76px; right:15%; transform:rotate(12deg); }
.art-caption { position:absolute; bottom:24px; left:7%; right:7%; display:flex; justify-content:space-between; font-size:7px; letter-spacing:.16em; color:#6d7769; }
.intro-band { padding:118px 10% 122px; display:grid; grid-template-columns:.65fr 1.4fr .7fr; gap:5%; background:#e9e7dd; }
.section-index { font-size:8px; letter-spacing:.16em; color:#858a7d; padding-top:8px; }
.intro-content .eyebrow { margin-bottom:20px; }
h2 { font-size:clamp(43px,5vw,68px); line-height:1.06; margin-bottom:24px; }
.intro-text { max-width:510px; color:#626a5f; font-size:13px; line-height:2; margin-bottom:27px; }
.dark-link { border-color:#65745d; }
.intro-aside { align-self:end; padding-bottom:12px; }
.line-art { width:130px; height:130px; margin:0 auto 20px; position:relative; border:1px solid rgba(75,92,67,.35); border-radius:50%; }
.line-circle { position:absolute; width:70px; height:70px; border:1px solid #71806b; border-radius:50%; top:29px; left:29px; }
.line-stem { position:absolute; height:90px; width:1px; background:#71806b; left:65px; top:19px; transform:rotate(38deg); }
.line-leaf { position:absolute; width:43px; height:22px; border:1px solid #71806b; border-radius:100% 0 100% 0; left:68px; top:43px; transform:rotate(-20deg); }
.intro-aside p { text-align:center; font-size:7px; line-height:1.8; letter-spacing:.18em; color:#72796d; }
.collection-section { padding:115px 7.2% 100px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:55px; }
.section-heading h2 { margin:0; }
.section-description { max-width:315px; color:#74796f; font-size:12px; line-height:1.9; margin:0 2% 7px 20px; }
.product-feature { display:grid; grid-template-columns:1.08fr .92fr; background:#e7e7dc; min-height:570px; }
.product-visual { min-height:570px; position:relative; overflow:hidden; background:linear-gradient(145deg,#e3e4d8,#cfd5c7); }
.product-visual:after { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.48),transparent 58%); }
.visual-sun { position:absolute; width:360px; height:360px; border-radius:50%; background:#c4cdbb; left:50%; top:70px; transform:translateX(-50%); }
.visual-shadow { position:absolute; width:310px; height:52px; border-radius:50%; background:rgba(49,62,45,.18); filter:blur(17px); left:50%; bottom:72px; transform:translateX(-50%); }
.bottle.bottle-product { width:185px; height:375px; left:50%; top:105px; transform:translateX(-50%) rotate(1deg); }
.bottle-product .bottle-cap { left:66px; }
.bottle-product .bottle-neck { left:55px; }
.bottle-product .bottle-body { width:185px; height:310px; padding-top:48px; }
.bottle-product .bottle-brand b { font-size:19px; }
.bottle-product .bottle-label { font-size:16px; }
.visual-note { position:absolute; bottom:28px; left:30px; z-index:3; color:#697664; font-size:7px; letter-spacing:.17em; line-height:1.8; }
.product-info { padding:75px 12% 55px; align-self:center; }
.product-info h3 { font-family:var(--serif); font-size:clamp(34px,3.5vw,48px); line-height:1.12; font-weight:400; letter-spacing:-.035em; margin-bottom:20px; }
.product-lead { color:var(--olive); font-family:var(--serif); font-size:17px; margin-bottom:13px; }
.product-copy { color:#6b7167; font-size:11px; line-height:1.9; }
.product-facts { margin:27px 0 24px; border-top:1px solid var(--line); }
.product-facts > div { display:flex; gap:18px; align-items:flex-start; border-bottom:1px solid var(--line); padding:13px 0; }
.product-facts > div > span { font-size:8px; color:#87907e; padding-top:3px; }
.product-facts p { margin:0; font-size:10px; }
.product-facts b { display:block; font-weight:600; margin-bottom:4px; }
.product-facts small { color:#777d72; font-size:9px; }
.availability-note { font-size:9px; color:#777d72; line-height:1.6; }
.status-dot { display:inline-block; width:6px; height:6px; background:#9a885d; border-radius:50%; margin-right:7px; vertical-align:1px; }
.collection-note { display:flex; align-items:center; justify-content:center; gap:18px; padding:33px 0 0; }
.collection-note p { margin:0; font-family:var(--serif); font-size:19px; color:#697562; }
.note-mark { color:#87927e; font-size:18px; }
.note-end { color:#92968a; font-size:7px; letter-spacing:.15em; margin-left:25px; }
.scent-section { display:grid; grid-template-columns:1fr 1fr; background:#dedfd3; }
.scent-image { min-height:480px; position:relative; overflow:hidden; background:linear-gradient(140deg,#cbd2c2,#e6e4d8); }
.scent-circle { position:absolute; width:320px; height:320px; border:1px solid rgba(65,85,61,.3); border-radius:50%; top:72px; left:50%; transform:translateX(-50%); }
.scent-swatch { position:absolute; width:230px; height:280px; border-radius:48% 48% 12px 12px; background:linear-gradient(130deg,#e8e4d4,#aab49d); top:115px; left:50%; transform:translateX(-50%) rotate(-8deg); box-shadow:20px 20px 25px rgba(46,58,43,.13); }
.scent-leaf { position:absolute; z-index:2; width:155px; height:55px; border:1px solid #667c60; border-radius:100% 0 100% 0; }
.leaf-a { top:125px; left:14%; transform:rotate(22deg); }
.leaf-b { bottom:95px; right:10%; transform:rotate(155deg); }
.scent-image-label { position:absolute; z-index:3; bottom:30px; left:30px; color:#5f705b; font-size:8px; line-height:1.8; letter-spacing:.16em; }
.scent-copy { padding:105px 12%; align-self:center; }
.scent-copy h2 { margin-bottom:23px; }
.scent-copy > p:not(.eyebrow) { max-width:430px; color:#697166; font-size:12px; line-height:2; }
.scent-copy .fine-print { font-size:9px !important; color:#8a8e82 !important; margin-top:20px; }
.values-section { padding:110px 7.2% 120px; }
.values-header { margin:35px 0 52px 20%; }
.values-header h2 { margin:0; }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.value-card { position:relative; padding:30px 9% 0 0; min-height:220px; }
.value-card + .value-card { border-left:1px solid var(--line); padding-left:10%; }
.value-number { font-size:8px; color:#92978b; }
.value-icon { float:right; color:#77866f; font-size:22px; }
.value-card h3 { font-family:var(--serif); font-size:23px; font-weight:400; margin:42px 0 12px; }
.value-card p { color:#73796e; font-size:11px; line-height:1.9; max-width:290px; }
.future-section { background:#e8e6dc; padding:100px 10%; display:grid; grid-template-columns:1fr 1fr; gap:12%; }
.future-copy h2 { font-size:clamp(40px,4.4vw,59px); }
.future-copy > p:last-child { max-width:390px; color:#70766b; font-size:12px; line-height:2; }
.future-list { align-self:center; border-top:1px solid var(--line); }
.future-list > div { display:grid; grid-template-columns:35px 1fr 1fr 20px; align-items:center; gap:10px; padding:18px 0; border-bottom:1px solid var(--line); }
.future-list span { color:#92978b; font-size:8px; }
.future-list b { font-family:var(--serif); font-size:18px; font-weight:400; }
.future-list small { color:#8a8f83; font-size:8px; }
.future-list i { font-style:normal; text-align:right; color:#64745f; }
.contact-section { text-align:center; padding:115px 20px 105px; background:var(--olive-dark); color:var(--paper); }
.contact-flower { font-size:25px; color:#d4cba9; margin-bottom:27px; }
.contact-section .eyebrow { color:#c2c9b6; }
.contact-section h2 { font-size:clamp(48px,5.5vw,72px); margin-bottom:20px; }
.contact-section h2 em { color:#d1d4c2; }
.contact-section > p:not(.eyebrow) { color:#c1c8b9; font-size:11px; line-height:1.8; }
.contact-link { display:inline-block; margin-top:18px; padding-bottom:9px; border-bottom:1px solid #b9c3ad; font-family:var(--serif); font-size:20px; }
.contact-link span { font-family:var(--sans); font-size:13px; margin-left:15px; }
.contact-note { display:block; color:#9fae9b; font-size:8px; margin-top:17px; }
.site-footer { padding:38px 7.2% 20px; }
.footer-wordmark { display:inline-block; }
.site-footer > p { display:inline-block; margin:0 0 0 35px; color:#82877c; font-family:var(--serif); font-size:14px; }
.footer-bottom { border-top:1px solid var(--line); margin-top:36px; padding-top:17px; display:flex; justify-content:space-between; color:#858a7f; font-size:7px; letter-spacing:.14em; }
.footer-bottom a { color:var(--ink); }
@media (max-width: 900px) {
  .site-header { padding:0 5%; }
  .main-nav { gap:20px; }
  .hero { padding:0 5%; grid-template-columns:.9fr 1.1fr; }
  .hero-copy { padding-top:95px; }
  .hero-art { min-height:600px; }
  .intro-band { padding:90px 7%; grid-template-columns:.5fr 1.5fr; }
  .intro-aside { display:none; }
  .collection-section,.values-section { padding-left:5%; padding-right:5%; }
  .product-info { padding:55px 8%; }
  .future-section { padding:85px 7%; gap:7%; }
}
@media (max-width: 650px) {
  .announcement { font-size:7px; letter-spacing:.1em; }
  .site-header { height:72px; padding:0 6%; }
  .wordmark { font-size:12px; }
  .wordmark span { font-size:18px; }
  .menu-toggle { display:flex; flex-direction:column; gap:6px; border:0; background:none; padding:10px 0 10px 10px; cursor:pointer; }
  .menu-toggle span { display:block; width:24px; height:1px; background:var(--ink); transition:transform .2s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .main-nav { display:none; position:absolute; top:71px; left:0; right:0; padding:24px 6% 28px; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; gap:22px; }
  .main-nav.open { display:flex; }
  .nav-contact { padding:11px 15px; }
  .hero { display:flex; flex-direction:column; padding:0; }
  .hero-copy { padding:78px 7% 50px; }
  h1 { font-size:clamp(58px,15vw,82px); }
  .hero-intro { font-size:12px; }
  .hero-footnote { position:static; margin-top:40px; }
  .hero-art { min-height:490px; }
  .bottle-hero { top:75px; transform:translateX(-50%) scale(.85) rotate(-2deg); transform-origin:top center; }
  .sun-disc { width:310px; height:310px; top:65px; }
  .orbit-one { width:420px; left:-2%; top:135px; }
  .orbit-two { width:450px; left:-6%; top:130px; }
  .intro-band { display:block; padding:75px 7%; }
  .intro-band > .section-index { margin-bottom:45px; }
  h2 { font-size:48px; }
  .intro-text { font-size:12px; }
  .collection-section { padding:75px 0 65px; }
  .section-heading { display:block; padding:0 7%; margin-bottom:35px; }
  .section-description { margin:25px 0 0; }
  .product-feature { display:flex; flex-direction:column; }
  .product-visual { min-height:470px; }
  .bottle.bottle-product { top:65px; transform:translateX(-50%) scale(.88) rotate(1deg); transform-origin:top center; }
  .visual-sun { width:300px; height:300px; top:60px; }
  .product-info { padding:55px 7% 48px; }
  .product-info h3 { font-size:40px; }
  .collection-note { padding:28px 7% 0; gap:10px; flex-wrap:wrap; }
  .collection-note p { font-size:16px; }
  .note-end { width:100%; text-align:center; margin:5px 0 0; }
  .scent-section { display:flex; flex-direction:column; }
  .scent-image { min-height:390px; }
  .scent-swatch { width:190px; height:230px; top:90px; }
  .scent-circle { width:270px; height:270px; top:70px; }
  .scent-copy { padding:70px 7%; }
  .values-section { padding:75px 7%; }
  .values-header { margin:35px 0 38px; }
  .values-grid { display:block; }
  .value-card,.value-card + .value-card { min-height:0; padding:24px 0; border-left:0; border-bottom:1px solid var(--line); }
  .value-card h3 { margin:25px 0 10px; }
  .future-section { display:block; padding:75px 7%; }
  .future-list { margin-top:40px; }
  .future-list > div { grid-template-columns:25px 1fr 1fr 15px; }
  .future-list b { font-size:16px; }
  .contact-section { padding:85px 7%; }
  .contact-section h2 { font-size:49px; }
  .contact-link { font-size:17px; }
  .site-footer { padding:32px 7% 18px; }
  .site-footer > p { display:block; margin:18px 0 0; }
  .footer-bottom { gap:13px; flex-wrap:wrap; line-height:1.7; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; animation:none !important; }
}
