:root{
    --paper:#FCFAF7;        /* light ivory */
    --paper-warm:#FEFDFB;
    --paper-deep:#F4F1EC;
    --ink:#2A211C;          /* bistre */
    --ink-soft:#6E6255;
    --ink-faint:#9E9683;    /* nomad */
    --wine:#431722;         /* deep burgundy */
    --wine-deep:#2A211C;    /* bistre */
    --forest:#55443A;       /* pine cone */
    --stone:#9E9683;        /* nomad */
    --sage:#CFDCC8;         /* pastel green, atmosphere only */
    --gold:#A8834E;
    --gold-light:#D2B47D;
    --line:rgba(158,150,131,.42);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  img{max-width:100%;height:auto}
  body{
    background:var(--paper);color:var(--ink);
    font-family:'EB Garamond',serif;font-size:19px;line-height:1.72;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:700px;margin:0 auto;padding:0 26px}
  .wrap-wide{max-width:1040px;margin:0 auto;padding:0 26px}

  nav{
    position:sticky;top:0;z-index:60;
    background:rgba(252,250,247,.94);
    backdrop-filter:saturate(150%) blur(10px);
    border-bottom:1px solid rgba(158,150,131,.34);
  }
  .nav-inner{
    max-width:1040px;margin:0 auto;padding:15px 26px;
    display:flex;align-items:center;justify-content:space-between;gap:18px;
  }
  .nav-mark{
    font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:400;
    letter-spacing:.3em;text-transform:uppercase;color:var(--wine);
    text-decoration:none;cursor:pointer;
  }
  .nav-right{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
  .nav-links{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
  .nav-links a{
    font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--ink-soft);text-decoration:none;cursor:pointer;
    border-bottom:1px solid transparent;padding-bottom:2px;
    transition:color .25s, border-color .25s;
  }
  .nav-links a:hover{color:var(--wine)}
  .nav-links a.active{color:var(--wine);border-bottom-color:var(--gold)}
  .lang{
    font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--ink-faint);cursor:pointer;border:1px solid var(--line);
    padding:5px 11px;transition:all .25s;white-space:nowrap;
  }
  .lang:hover{color:var(--wine);border-color:var(--gold)}
  @media (max-width:800px){
    .nav-inner{flex-direction:column;gap:9px;padding:12px 20px}
    .nav-links{gap:13px;justify-content:center}
    .nav-links a{font-size:10.5px;letter-spacing:.1em}
  }


  /* ---------- atmosphere ---------- */
  body{position:relative;overflow-x:hidden}
  .glow{
    position:absolute;border-radius:50%;pointer-events:none;z-index:0;
    filter:blur(110px);opacity:.42;
  }
  .glow.sage{background:radial-gradient(circle, var(--sage) 0%, rgba(207,220,200,0) 72%)}
  .glow.gold{background:radial-gradient(circle, rgba(210,180,125,.42) 0%, rgba(210,180,125,0) 72%)}
  .glow.a{width:620px;height:620px;top:-140px;left:-220px}
  .glow.b{width:520px;height:520px;top:180px;right:-200px}
  .glow.c{width:460px;height:460px;bottom:-160px;left:38%}
  .atmo{position:relative;overflow:hidden}
  .atmo > *{position:relative;z-index:1}
  body::after{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.22;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
    mix-blend-mode:multiply;
  }
  .hairline{
    width:100%;max-width:120px;margin:0 auto;height:1px;
    background:linear-gradient(90deg, transparent, var(--gold), transparent);
    position:relative;
  }
  .hairline::after{
    content:"";position:absolute;left:50%;top:-2.5px;width:5px;height:5px;
    transform:translateX(-50%) rotate(45deg);background:var(--gold);
  }

  .page{display:none}
  .page.active{display:block;animation:fade .5s ease}
  @keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  @media (prefers-reduced-motion:reduce){.page.active{animation:none}}

  .page-head{text-align:center;padding:82px 0 18px}
  .eyebrow{font-size:11.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
  h1.page-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(38px,7vw,64px);line-height:1.14}
  h1.page-title em{font-style:italic;color:var(--wine)}
  .page-lede{margin:24px auto 0;max-width:560px;font-size:19px;color:var(--ink-soft)}

  .hero{padding:100px 0 18px;text-align:center}
  h1.mark{
    font-family:'Cormorant Garamond',serif;font-weight:300;color:var(--wine);
    font-size:clamp(58px,15vw,116px);line-height:1;letter-spacing:.2em;
    text-transform:uppercase;text-indent:.2em;
  }
  .subline{
    font-family:'Cormorant Garamond',serif;font-style:italic;
    font-size:clamp(14px,3vw,19px);letter-spacing:.42em;text-transform:lowercase;
    color:var(--gold);margin-top:20px;text-indent:.42em;
  }
  .say{margin-top:20px;font-size:14px;font-style:italic;color:var(--ink-faint)}
  .statement{
    font-family:'Cormorant Garamond',serif;font-weight:300;
    font-size:clamp(32px,6.4vw,54px);line-height:1.2;max-width:620px;margin:54px auto 0;
  }
  .statement em{font-style:italic;color:var(--wine)}
  .statement-sub{margin-top:26px;font-size:20px;color:var(--ink-soft);max-width:520px;margin-left:auto;margin-right:auto}

  .btn{
    display:inline-block;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;
    padding:15px 32px;text-decoration:none;cursor:pointer;
    border:1px solid var(--wine);color:var(--paper);background:var(--wine);
    transition:background .3s, border-color .3s, color .3s;
  }
  .btn:hover{background:var(--wine-deep);border-color:var(--wine-deep)}
  .btn.ghost{background:transparent;color:var(--wine)}
  .btn.ghost:hover{background:var(--wine);color:var(--paper)}
  .btn.light{background:transparent;border-color:var(--paper);color:var(--paper)}
  .btn.light:hover{background:var(--paper);color:var(--wine);border-color:var(--paper)}
  .cta-row{margin-top:38px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

  .strip{margin-top:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}
  .strip-inner{
    display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;
    font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);text-align:center;
  }
  .strip-inner strong{color:var(--gold);font-weight:400}

  section{padding:80px 0}
  .label{font-size:11.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);text-align:center;margin-bottom:16px}
  h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(30px,5.4vw,44px);line-height:1.22;text-align:center;margin-bottom:16px}
  h2 em{font-style:italic;color:var(--wine)}
  .lede{text-align:center;color:var(--ink-soft);max-width:560px;margin:0 auto 44px;font-size:18px}

  .dark{background:var(--wine);color:var(--paper);padding:94px 0}
  .green{background:var(--forest);color:var(--paper);padding:94px 0}
  .dark h2,.green h2{color:var(--paper)}
  .dark h2 em,.green h2 em{color:var(--gold-light)}
  .dark .label,.green .label{color:var(--gold-light)}
  .dark .lede,.green .lede{color:rgba(252,250,247,.76)}
  .dark p,.green p{color:rgba(252,250,247,.84)}
  .band-warm{background:var(--paper-deep);padding:82px 0}

  .offering{margin-bottom:18px}
  .offering-head{text-align:center;margin-bottom:32px}
  .num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;letter-spacing:.24em;color:var(--gold);text-transform:uppercase;margin-bottom:10px}
  .offering h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(26px,4.4vw,34px);margin-bottom:12px}
  .offering .desc{color:var(--ink-soft);max-width:520px;margin:0 auto;font-size:17.5px}

  .specimen{
    background:linear-gradient(170deg,var(--paper-warm) 0%, #FAF8F4 55%, #F2F6F0 100%);
    border:1px solid var(--line);padding:50px 34px 40px;position:relative;
    box-shadow:0 1px 0 rgba(42,33,28,.04), 0 14px 34px -22px rgba(67,23,34,.22);
  }
  .specimen::before,.specimen::after{
    content:"";position:absolute;left:12px;right:12px;height:6px;
    background:radial-gradient(circle at 6px 0, transparent 5px, var(--paper) 5px) repeat-x;background-size:14px 6px;
  }
  .band-warm .specimen::before,.band-warm .specimen::after{
    background:radial-gradient(circle at 6px 0, transparent 5px, var(--paper-deep) 5px) repeat-x;background-size:14px 6px;
  }
  .specimen::before{top:-1px}
  .specimen::after{bottom:-1px;transform:scaleY(-1)}
  .specimen-title{font-family:'Cormorant Garamond',serif;font-size:14px;letter-spacing:.44em;text-transform:uppercase;text-align:center;color:var(--wine);margin-bottom:26px}
  .poem{font-family:'Cormorant Garamond',serif;font-size:21.5px;line-height:1.82;text-align:center;color:var(--ink)}
  .poem-note{margin-top:26px;text-align:center;font-size:14px;color:var(--ink-faint);font-style:italic}
  @media (prefers-reduced-motion:no-preference){
    .specimen{transition:transform .4s ease, box-shadow .4s ease}
    .specimen:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(42,33,28,.04), 0 22px 44px -22px rgba(67,23,34,.30)}
  }

  .occasions{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:1px;background:var(--stone);border:1px solid var(--stone);max-width:860px;margin:0 auto}
  .occ{background:var(--paper);padding:30px 20px;text-align:center}
  .occ h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:22px;margin-bottom:6px}
  .occ p{font-size:15px;color:var(--ink-faint);line-height:1.55}

  .three{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px;max-width:940px;margin:0 auto}
  .three .item{text-align:center}
  .three .item h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:26px;margin:10px 0 8px}
  .three .item p{font-size:16.5px;color:var(--ink-soft)}

  .steps{max-width:600px;margin:0 auto}
  .step{display:flex;gap:26px;margin-bottom:34px;align-items:flex-start}
  .step-n{font-family:'Cormorant Garamond',serif;font-size:32px;color:var(--gold-light);line-height:1;min-width:52px;padding-top:3px}
  .step h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:24px;margin-bottom:6px;color:var(--paper)}
  .step p{color:rgba(252,250,247,.80);font-size:17.5px}

  .four{margin:14px 0 0;padding:0}
  .four li{
    list-style:none;padding-left:24px;position:relative;margin-bottom:7px;
    color:rgba(252,250,247,.86);font-size:16.5px;line-height:1.55;
  }
  .four li::before{
    content:"";position:absolute;left:4px;top:11px;width:5px;height:5px;
    border-radius:50%;background:var(--gold-light);
  }
  .portrait{max-width:300px;margin:0 auto 34px;position:relative}
  .portrait img{width:100%;height:auto;display:block;border:1px solid var(--line)}
  .portrait::after{
    content:"";position:absolute;inset:9px;border:1px solid rgba(168,131,78,.55);
    pointer-events:none;
  }
  .portrait figcaption{
    text-align:center;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--gold);line-height:2;margin-top:20px;
  }
  .form{max-width:560px;margin:0 auto;text-align:left}
  .form .row{margin-bottom:22px}
  .form label{
    display:block;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--gold);margin-bottom:7px;
  }
  .form input, .form textarea, .form select{
    width:100%;font-family:'EB Garamond',serif;font-size:17px;color:var(--ink);
    background:var(--paper-warm);border:1px solid var(--line);
    padding:12px 14px;outline:none;transition:border-color .25s;
  }
  .form input:focus, .form textarea:focus, .form select:focus{border-color:var(--gold)}
  .form textarea{min-height:130px;resize:vertical;line-height:1.6}
  .form .two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  @media (max-width:560px){.form .two{grid-template-columns:1fr}}
  .form button{
    display:inline-block;font-family:'EB Garamond',serif;
    font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;
    padding:15px 34px;cursor:pointer;
    border:1px solid var(--wine);color:var(--paper);background:var(--wine);
    transition:background .3s;
  }
  .form button:hover{background:var(--wine-deep)}
  .form .hp{position:absolute;left:-9999px}
  .form .note{font-size:14.5px;color:var(--ink-faint);font-style:italic;margin-top:16px}
  .or{
    text-align:center;margin:46px auto 40px;max-width:560px;
    font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);
    display:flex;align-items:center;gap:18px;
  }
  .or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
  .legal{max-width:660px;margin:0 auto}
  .legal h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:24px;margin:38px 0 10px;color:var(--wine)}
  .legal h3:first-of-type{margin-top:0}
  .legal p{color:var(--ink-soft);font-size:17px;margin-bottom:14px}
  .legal ul{margin:0 0 16px;padding:0}
  .legal li{list-style:none;padding-left:24px;position:relative;margin-bottom:8px;color:var(--ink-soft);font-size:17px}
  .legal li::before{content:"";position:absolute;left:4px;top:11px;width:5px;height:5px;border-radius:50%;background:var(--gold)}
  .legal .updated{font-size:14px;color:var(--ink-faint);font-style:italic;margin-top:36px;text-align:center}
  .press{
    max-width:620px;margin:0 auto;border:1px solid var(--line);
    padding:38px 32px;background:var(--paper-warm);
  }
  .press p{color:var(--ink-soft);font-size:17px;margin-bottom:14px}
  .press .boiler{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--ink);line-height:1.6}
  .faq{max-width:640px;margin:0 auto}
  .faq-item{border-top:1px solid var(--line);padding:24px 0}
  .faq-item:last-child{border-bottom:1px solid var(--line)}
  .faq-item h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:23px;margin-bottom:8px}
  .faq-item p{color:var(--ink-soft);font-size:17.5px}

  .about-meta{text-align:center;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);line-height:2;margin-bottom:24px}
  .prose p{margin-bottom:22px;color:var(--ink-soft)}
  .prose p.first{font-size:22px;color:var(--ink);font-family:'Cormorant Garamond',serif;line-height:1.5}
  .prose em{color:var(--wine);font-style:italic}

  .mail{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,4.6vw,34px);font-style:italic;text-align:center}
  .mail a{color:var(--wine);text-decoration:none;border-bottom:1px solid var(--line)}
  .mail a:hover{border-bottom-color:var(--gold)}
  .asks{max-width:470px;margin:34px auto 0;text-align:left;color:var(--ink-soft);font-size:17px}
  .asks li{list-style:none;margin-bottom:10px;padding-left:26px;position:relative}
  .asks li::before{content:"";position:absolute;left:5px;top:12px;width:5px;height:5px;border-radius:50%;background:var(--gold)}

  footer{background:var(--wine-deep);color:rgba(252,250,247,.80);padding:72px 0 40px}
  .seal-foot{
    width:54px;height:54px;border-radius:50%;border:1px solid var(--gold-light);color:var(--gold-light);
    display:flex;align-items:center;justify-content:center;
    font-family:'Cormorant Garamond',serif;font-style:italic;font-size:30px;
    font-weight:300;line-height:1;padding-bottom:4px;margin:0 auto 28px;
  }
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:44px;max-width:1040px;margin:0 auto;padding:0 26px}
  @media (max-width:760px){.foot-grid{grid-template-columns:1fr;gap:32px;text-align:center}}
  .foot-mark{font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:.3em;text-transform:uppercase;color:var(--paper);margin-bottom:14px}
  .foot-desc{font-size:16px;line-height:1.7;max-width:310px}
  @media (max-width:760px){.foot-desc{margin:0 auto}}
  .foot-h{font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-light);margin-bottom:14px}
  .foot-list a,.foot-contact a{display:block;color:rgba(252,250,247,.80);text-decoration:none;cursor:pointer;font-size:16px;line-height:2;transition:color .25s}
  .foot-list a:hover,.foot-contact a:hover{color:var(--gold-light)}
  .foot-bottom{
    max-width:1040px;margin:50px auto 0;padding:22px 26px 0;
    border-top:1px solid rgba(252,250,247,.16);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
    font-size:13.5px;color:rgba(252,250,247,.56);
  }
  @media (max-width:760px){.foot-bottom{justify-content:center;text-align:center}}

  @media (max-width:480px){
    body{font-size:17.5px}
    .hero{padding:66px 0 16px}
    .page-head{padding:58px 0 14px}
    section{padding:58px 0}
    .poem{font-size:19px;line-height:1.78}
    .specimen{padding:36px 22px 30px}
    .dark,.green{padding:68px 0}
  }