:root{
    --ink:#2B2622;
    --ink-soft:#5A4F45;
    --crust:#C9782B;
    --crust-dark:#A6621F;
    --rye:#6B3E26;
    --cream:#FAF5EA;
    --flour:#F1EADB;
    --flour-line:#E4DBC8;
    --paper:#FFFFFF;
    --ok:#5F7A4F;
    --shadow: 0 20px 50px -20px rgba(43,38,34,0.35);
    --shadow-sm: 0 8px 20px -10px rgba(43,38,34,0.25);
    --ease: cubic-bezier(.22,1,.36,1);
    --radius: 18px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
  }

  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Work Sans', sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  h1,h2,h3,.display{
    font-family:'Fraunces', serif;
    font-weight:700;
    letter-spacing:-0.01em;
    margin:0;
    color:var(--ink);
  }

  p{margin:0; line-height:1.6; color:var(--ink-soft);}
  a{color:inherit;}
  button{font-family:inherit; cursor:pointer;}

  .eyebrow{
    display:flex; align-items:center; gap:10px;
    font-size:0.78rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
    color:var(--crust-dark); margin-bottom:14px;
  }
  .eyebrow .horn-icon{width:14px;height:14px;fill:var(--crust);}

  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
  @media (max-width:640px){.wrap{padding:0 20px;}}

  /* ---------- focus ---------- */
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
    outline:2.5px solid var(--crust); outline-offset:3px; border-radius:4px;
  }

  /* ---------- horn divider ---------- */
  .horn-divider{width:100%; height:34px; display:block; margin:0 auto;}
  .horn-divider path{fill:var(--flour);}
  .horn-divider.on-flour path{fill:var(--cream);}

  /* ---------- header ---------- */
  .site-header{
    position:sticky; top:0; z-index:60;
    background:rgba(250,245,234,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid transparent;
    transition:border-color .4s var(--ease), box-shadow .4s var(--ease);
  }
  .site-header.scrolled{border-color:var(--flour-line); box-shadow:0 6px 24px -18px rgba(43,38,34,0.4);}
  .nav-inner{display:flex; align-items:center; justify-content:space-between; height:78px;}
  .brandmark{display:flex; align-items:center; gap:10px; text-decoration:none;}
  .brandmark .mark{width:44px;height:44px; flex-shrink:0; object-fit:contain; display:block;}
  .mark-chip{
    width:44px; height:44px; border-radius:50%; background:var(--cream);
    display:flex; align-items:center; justify-content:center; flex-shrink:0; padding:5px;
  }
  .mark-chip .mark{width:100%; height:100%;}
  .brandmark .word{font-family:'Fraunces',serif; font-weight:900; font-size:1.28rem; letter-spacing:0.01em; line-height:1;}
  .brandmark .sub{display:block; font-family:'Work Sans',sans-serif; font-weight:600; font-size:0.6rem; letter-spacing:0.28em; color:var(--crust-dark); margin-top:2px;}

  nav.primary-nav{display:flex; gap:36px; align-items:center;}
  nav.primary-nav a{
    text-decoration:none; font-weight:600; font-size:0.94rem; color:var(--ink);
    position:relative; padding:6px 0;
  }
  nav.primary-nav a::after{
    content:""; position:absolute; left:0; right:100%; bottom:0; height:2px; background:var(--crust);
    transition:right .3s var(--ease);
  }
  nav.primary-nav a:hover::after{right:0;}

  .header-actions{display:flex; align-items:center; gap:14px;}
  .cart-btn{
    position:relative; display:flex; align-items:center; gap:8px;
    background:var(--ink); color:var(--cream); border:none; border-radius:999px;
    padding:11px 18px; font-weight:600; font-size:0.9rem;
    transition:transform .25s var(--ease), background .25s var(--ease);
  }
  .cart-btn:hover{background:var(--rye); transform:translateY(-1px);}
  .cart-btn svg{width:17px;height:17px; fill:none; stroke:currentColor; stroke-width:1.8;}
  .cart-count{
    background:var(--crust); color:var(--cream); font-size:0.7rem; font-weight:700;
    width:19px;height:19px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    transform:scale(0); transition:transform .3s var(--ease);
  }
  .cart-count.show{transform:scale(1);}
  .cart-count.bump{animation:bump .4s var(--ease);}
  @keyframes bump{0%{transform:scale(1);}40%{transform:scale(1.45);}100%{transform:scale(1);}}

  .menu-toggle{display:none; background:none; border:none; padding:6px;}
  .menu-toggle svg{width:24px;height:24px; stroke:var(--ink); stroke-width:2; fill:none;}

  @media (max-width:860px){
    nav.primary-nav{
      position:fixed; inset:78px 0 0 0; background:var(--cream); flex-direction:column;
      align-items:flex-start; padding:36px 28px; gap:26px; transform:translateX(100%);
      transition:transform .45s var(--ease); z-index:50;
    }
    nav.primary-nav.open{transform:translateX(0);}
    nav.primary-nav a{font-size:1.4rem; font-family:'Fraunces',serif; font-weight:600;}
    .menu-toggle{display:block;}
  }

  /* ---------- hero ---------- */
  .hero{position:relative; padding:74px 0 40px; overflow:hidden;}
  .hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;}
  @media (max-width:900px){.hero-grid{grid-template-columns:1fr; gap:44px;}}

  .hero h1{font-size:clamp(2.6rem, 5.6vw, 4.6rem); line-height:0.98;}
  .hero h1 em{font-style:italic; font-weight:500; color:var(--crust-dark);}
  .hero .lede{font-size:1.14rem; max-width:440px; margin:22px 0 32px;}
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}

  .btn{
    display:inline-flex; align-items:center; gap:8px; border-radius:999px; border:none;
    padding:15px 26px; font-weight:600; font-size:0.96rem; text-decoration:none;
    transition:transform .28s var(--ease), box-shadow .28s var(--ease), background .28s var(--ease);
  }
  .btn-primary{background:var(--crust); color:var(--cream); box-shadow:var(--shadow-sm);}
  .btn-primary:hover{background:var(--crust-dark); transform:translateY(-2px); box-shadow:var(--shadow);}
  .btn-ghost{background:transparent; color:var(--ink); border:1.5px solid var(--ink);}
  .btn-ghost:hover{background:var(--ink); color:var(--cream); transform:translateY(-2px);}
  .btn-dark{background:var(--ink); color:var(--cream);}
  .btn-dark:hover{background:var(--rye); transform:translateY(-2px);}
  .btn-full{width:100%; justify-content:center;}
  .btn[disabled]{opacity:0.45; cursor:not-allowed; transform:none !important; box-shadow:none !important;}

  .hero-art{position:relative; display:flex; align-items:center; justify-content:center; aspect-ratio:1/1;}
  .hero-art .ring{
    position:absolute; inset:0; border-radius:50%;
    background: radial-gradient(circle at 32% 28%, #E9C48A 0%, var(--crust) 46%, var(--rye) 100%);
    box-shadow: var(--shadow);
  }
  .hero-art .hero-mark{
    position:relative; width:66%; z-index:2; filter:drop-shadow(0 18px 26px rgba(43,38,34,0.35));
    animation:float 6.5s ease-in-out infinite;
  }
  @keyframes float{0%,100%{transform:translateY(0) rotate(-2deg);}50%{transform:translateY(-14px) rotate(1.5deg);}}
  .hero-art .crumb{position:absolute; border-radius:50%; background:var(--flour);}
  .hero-art .crumb.c1{width:26px;height:26px; top:8%; left:12%; animation:driftA 8s ease-in-out infinite;}
  .hero-art .crumb.c2{width:16px;height:16px; bottom:14%; left:6%; animation:driftB 7s ease-in-out infinite;}
  .hero-art .crumb.c3{width:20px;height:20px; top:14%; right:8%; animation:driftA 9s ease-in-out infinite reverse;}
  @keyframes driftA{0%,100%{transform:translateY(0);}50%{transform:translateY(-16px);}}
  @keyframes driftB{0%,100%{transform:translateY(0);}50%{transform:translateY(12px);}}

  .hero-note{
    margin-top:34px; display:flex; gap:26px; flex-wrap:wrap; padding-top:26px; border-top:1px solid var(--flour-line);
  }
  .hero-note .stat b{display:block; font-family:'Fraunces',serif; font-size:1.5rem; font-weight:700;}
  .hero-note .stat span{font-size:0.82rem; color:var(--ink-soft);}

  /* ---------- reveal ---------- */
  .reveal{opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
  .reveal.in{opacity:1; transform:translateY(0);}
  .reveal-stagger > *{opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
  .reveal-stagger.in > *{opacity:1; transform:translateY(0);}
  .reveal-stagger.in > *:nth-child(1){transition-delay:.02s;}
  .reveal-stagger.in > *:nth-child(2){transition-delay:.1s;}
  .reveal-stagger.in > *:nth-child(3){transition-delay:.18s;}
  .reveal-stagger.in > *:nth-child(4){transition-delay:.26s;}
  .reveal-stagger.in > *:nth-child(5){transition-delay:.34s;}
  .reveal-stagger.in > *:nth-child(6){transition-delay:.42s;}

  /* ---------- story ---------- */
  .story{background:var(--flour); padding:88px 0;}
  .story-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center;}
  @media (max-width:900px){.story-grid{grid-template-columns:1fr; gap:36px;}}
  .story h2{font-size:clamp(1.9rem,3.4vw,2.7rem); line-height:1.08;}
  .story p{margin-top:20px; font-size:1.06rem; max-width:52ch;}
  .story-figure{
    background:var(--paper); border-radius:var(--radius); padding:38px; box-shadow:var(--shadow-sm);
    position:relative;
  }
  .story-figure .quote{font-family:'Fraunces',serif; font-style:italic; font-size:1.3rem; line-height:1.5; color:var(--ink);}
  .story-figure .attrib{margin-top:18px; font-weight:600; font-size:0.85rem; color:var(--crust-dark);}
  .story-figure .horn-icon{width:30px;height:30px; fill:var(--flour-line); position:absolute; top:26px; right:26px;}

  /* ---------- menu ---------- */
  .menu-section{padding:96px 0 60px;}
  .menu-head{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:44px;}
  .menu-head h2{font-size:clamp(2rem,3.6vw,2.9rem);}
  .menu-head p{max-width:420px;}

  .product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  @media (max-width:960px){.product-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:620px){.product-grid{grid-template-columns:1fr;}}

  .card{
    background:var(--paper); border-radius:var(--radius); padding:26px; display:flex; flex-direction:column;
    box-shadow:var(--shadow-sm); transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  }
  .card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
  .card-art{
    aspect-ratio:4/3; border-radius:12px; margin-bottom:18px; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(155deg, var(--flour), #E9DFC9);
  }
  .card-art svg{width:58%; height:58%;}
  .card h3{font-size:1.2rem; margin-bottom:6px;}
  .card .desc{font-size:0.92rem; min-height:44px;}
  .card-foot{display:flex; align-items:center; justify-content:space-between; margin-top:20px;}
  .price{font-family:'Fraunces',serif; font-weight:700; font-size:1.2rem;}

  .qty-add{display:flex; align-items:center; gap:10px;}
  .stepper{display:flex; align-items:center; border:1.5px solid var(--flour-line); border-radius:999px; overflow:hidden;}
  .stepper button{background:none; border:none; width:30px; height:30px; display:flex; align-items:center; justify-content:center; color:var(--ink); font-size:1rem;}
  .stepper button:hover{background:var(--flour);}
  .stepper span{width:22px; text-align:center; font-weight:600; font-size:0.9rem;}
  .add-btn{
    background:var(--ink); color:var(--cream); border:none; border-radius:999px; padding:9px 16px;
    font-weight:600; font-size:0.85rem; display:flex; align-items:center; gap:6px;
    transition:background .25s var(--ease), transform .2s var(--ease);
  }
  .add-btn:hover{background:var(--crust-dark);}
  .add-btn.added{background:var(--ok);}
  .add-btn svg{width:14px;height:14px; fill:none; stroke:currentColor; stroke-width:2;}

  /* ---------- how it works ---------- */
  .how{padding:96px 0;}
  .how-head{max-width:560px; margin-bottom:52px;}
  .how-head h2{font-size:clamp(2rem,3.6vw,2.8rem);}
  .how-head p{margin-top:16px; font-size:1.05rem;}

  .steps{display:grid; grid-template-columns:repeat(3,1fr); gap:0; position:relative;}
  @media (max-width:820px){.steps{grid-template-columns:1fr; gap:34px;}}
  .step{position:relative; padding:0 26px;}
  .step:first-child{padding-left:0;}
  .step:last-child{padding-right:0;}
  .step-hornrow{display:flex; align-items:center; gap:6px; margin-bottom:22px;}
  .step-hornrow .tick{width:20px;height:20px; opacity:0.25;}
  .step-hornrow .tick.filled{opacity:1;}
  .step-hornrow .tick path{fill:var(--crust);}
  .step-track{position:absolute; top:9px; left:calc(100% - 2px); width:52px; height:2px; background:var(--flour-line);}
  @media (max-width:820px){.step-track{display:none;}}
  .step h3{font-size:1.28rem; margin-bottom:10px;}
  .step .num{font-family:'Fraunces',serif; font-weight:700; font-size:0.85rem; color:var(--crust-dark); display:block; margin-bottom:8px;}

  /* ---------- footer ---------- */
  .site-footer{background:var(--ink); color:var(--flour); padding:64px 0 32px;}
  .footer-grid{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; padding-bottom:36px; border-bottom:1px solid rgba(250,245,234,0.15);}
  .footer-brand .brandmark .word, .footer-brand .brandmark .sub{color:var(--cream);}
  .footer-brand p{color:rgba(250,245,234,0.65); max-width:320px; margin-top:14px;}
  .footer-cols{display:flex; gap:64px; flex-wrap:wrap;}
  .footer-col h4{font-size:0.8rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(250,245,234,0.5); margin-bottom:14px;}
  .footer-col a, .footer-col p{display:block; color:var(--flour); text-decoration:none; font-size:0.94rem; margin-bottom:10px; opacity:0.9;}
  .footer-col a:hover{opacity:1; color:var(--crust);}
  .footer-bottom{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-top:26px; font-size:0.8rem; color:rgba(250,245,234,0.5);}

  /* ---------- cart drawer ---------- */
  .scrim{
    position:fixed; inset:0; background:rgba(43,38,34,0.5); backdrop-filter:blur(2px);
    opacity:0; pointer-events:none; transition:opacity .4s var(--ease); z-index:90;
  }
  .scrim.show{opacity:1; pointer-events:auto;}

  .drawer{
    position:fixed; top:0; right:0; height:100%; width:420px; max-width:92vw; background:var(--cream);
    box-shadow:-24px 0 60px rgba(43,38,34,0.25); z-index:100; display:flex; flex-direction:column;
    transform:translateX(100%); transition:transform .48s var(--ease);
  }
  .drawer.show{transform:translateX(0);}
  .drawer-head{display:flex; align-items:center; justify-content:space-between; padding:24px 26px; border-bottom:1px solid var(--flour-line);}
  .drawer-head h3{font-size:1.3rem;}
  .icon-btn{background:none; border:none; padding:6px; border-radius:50%; display:flex; transition:background .2s;}
  .icon-btn:hover{background:var(--flour);}
  .icon-btn svg{width:20px;height:20px; stroke:var(--ink); stroke-width:2; fill:none;}

  .drawer-body{flex:1; overflow-y:auto; padding:20px 26px;}
  .empty-cart{display:flex; flex-direction:column; align-items:center; text-align:center; padding:60px 20px; color:var(--ink-soft);}
  .empty-cart svg{width:52px;height:52px; fill:var(--flour-line); margin-bottom:16px;}

  .cart-line{display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--flour-line);}
  .cart-line .thumb{width:56px;height:56px; border-radius:10px; background:var(--flour); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .cart-line .thumb svg{width:60%;height:60%;}
  .cart-line .info{flex:1;}
  .cart-line .info h4{font-size:0.98rem; font-weight:600; margin-bottom:4px;}
  .cart-line .info .lprice{font-size:0.85rem; color:var(--ink-soft);}
  .cart-line .line-foot{display:flex; align-items:center; justify-content:space-between; margin-top:8px;}
  .remove-link{background:none; border:none; font-size:0.8rem; color:var(--ink-soft); text-decoration:underline; padding:0;}
  .remove-link:hover{color:var(--crust-dark);}

  .drawer-foot{padding:22px 26px 28px; border-top:1px solid var(--flour-line);}
  .sum-row{display:flex; justify-content:space-between; font-size:0.94rem; margin-bottom:8px; color:var(--ink-soft);}
  .sum-row.total{color:var(--ink); font-weight:700; font-size:1.1rem; font-family:'Fraunces',serif; margin-top:12px; padding-top:12px; border-top:1px dashed var(--flour-line);}

  /* ---------- checkout modal ---------- */
  .modal-scrim{
    position:fixed; inset:0; background:rgba(43,38,34,0.55); z-index:120; opacity:0; pointer-events:none;
    transition:opacity .35s var(--ease); display:flex; align-items:center; justify-content:center; padding:24px;
  }
  .modal-scrim.show{opacity:1; pointer-events:auto;}
  .modal{
    background:var(--cream); border-radius:24px; width:560px; max-width:100%; max-height:88vh; overflow-y:auto;
    box-shadow:var(--shadow); transform:translateY(24px) scale(0.98); opacity:0; transition:transform .4s var(--ease), opacity .4s var(--ease);
  }
  .modal-scrim.show .modal{transform:translateY(0) scale(1); opacity:1;}
  .modal-head{display:flex; align-items:center; justify-content:space-between; padding:26px 30px 0;}
  .modal-head h3{font-size:1.4rem;}
  .modal-body{padding:22px 30px 30px;}

  .progress-ticks{display:flex; align-items:center; gap:8px; padding:0 30px; margin-top:6px;}
  .progress-ticks .seg{height:4px; flex:1; background:var(--flour-line); border-radius:2px; overflow:hidden;}
  .progress-ticks .seg i{display:block; height:100%; width:0%; background:var(--crust); transition:width .5s var(--ease);}
  .progress-ticks .seg.done i{width:100%;}
  .progress-ticks .seg.current i{width:50%;}

  .step-panel{display:none;}
  .step-panel.active{display:block; animation:panelIn .45s var(--ease);}
  @keyframes panelIn{from{opacity:0; transform:translateX(14px);}to{opacity:1; transform:translateX(0);}}

  .fulfill-options{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:20px 0 8px;}
  @media (max-width:480px){.fulfill-options{grid-template-columns:1fr;}}
  .fulfill-card{
    border:1.5px solid var(--flour-line); border-radius:14px; padding:18px; cursor:pointer; position:relative;
    transition:border-color .25s var(--ease), background .25s var(--ease);
  }
  .fulfill-card:hover{border-color:var(--crust);}
  .fulfill-card.selected{border-color:var(--crust); background:#FFF7EC;}
  .fulfill-card input{position:absolute; opacity:0; pointer-events:none;}
  .fulfill-card .ftitle{font-weight:700; font-family:'Fraunces',serif; font-size:1.05rem; display:flex; justify-content:space-between; align-items:center;}
  .fulfill-card .fprice{font-size:0.8rem; color:var(--crust-dark); font-weight:700;}
  .fulfill-card .fdesc{font-size:0.85rem; margin-top:6px; color:var(--ink-soft);}
  .fulfill-card .check-dot{width:18px;height:18px; border-radius:50%; border:1.5px solid var(--flour-line); flex-shrink:0; position:relative;}
  .fulfill-card.selected .check-dot{border-color:var(--crust);}
  .fulfill-card.selected .check-dot::after{content:""; position:absolute; inset:3px; border-radius:50%; background:var(--crust);}

  .field-group{margin-top:22px; display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .field-group.stack{grid-template-columns:1fr;}
  .field{display:flex; flex-direction:column; gap:6px;}
  .field.full{grid-column:1/-1;}
  .field label{font-size:0.8rem; font-weight:600; color:var(--ink-soft);}
  .field input, .field select{
    border:1.5px solid var(--flour-line); border-radius:10px; padding:11px 13px; font-size:0.94rem;
    font-family:inherit; background:var(--paper); color:var(--ink);
  }
  .field input:focus, .field select:focus{border-color:var(--crust); outline:none;}

  .ship-fields{
    max-height:0; overflow:hidden; opacity:0; transition:max-height .5s var(--ease), opacity .4s var(--ease), margin .4s var(--ease);
  }
  .ship-fields.open{max-height:400px; opacity:1; margin-top:4px;}

  .demo-note{
    display:flex; gap:10px; align-items:flex-start; background:var(--flour); border-radius:12px; padding:14px 16px;
    font-size:0.83rem; color:var(--ink-soft); margin-top:22px;
  }
  .demo-note svg{width:16px;height:16px; flex-shrink:0; margin-top:2px; stroke:var(--crust-dark); fill:none; stroke-width:2;}

  .review-list{margin-top:18px; border-top:1px solid var(--flour-line);}
  .review-line{display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--flour-line); font-size:0.9rem;}
  .review-line span:first-child{color:var(--ink-soft);}

  .modal-actions{display:flex; gap:12px; margin-top:26px;}
  .modal-actions .btn{flex:1;}

  .confirm-panel{text-align:center; padding:10px 6px 6px;}
  .confirm-check{
    width:74px; height:74px; border-radius:50%; background:var(--ok); display:flex; align-items:center; justify-content:center;
    margin:6px auto 22px; animation:pop .5s var(--ease);
  }
  .confirm-check svg{width:34px;height:34px; stroke:var(--cream); fill:none; stroke-width:3;}
  @keyframes pop{0%{transform:scale(0.4); opacity:0;}70%{transform:scale(1.08);}100%{transform:scale(1); opacity:1;}}
  .confirm-panel h3{font-size:1.55rem; margin-bottom:10px;}
  .confirm-panel p{max-width:36ch; margin:0 auto;}
  .order-id{
    display:inline-block; margin-top:18px; background:var(--flour); border-radius:999px; padding:8px 18px;
    font-family:'Fraunces',serif; font-weight:700; letter-spacing:0.04em; font-size:0.92rem;
  }

  ::-webkit-scrollbar{width:9px;}
  ::-webkit-scrollbar-thumb{background:var(--flour-line); border-radius:6px;}

/* ---------------- contact page info columns (light bg, NOT footer) ---------------- */
.contact-info-cols{display:flex; gap:64px; flex-wrap:wrap;}
.contact-info-col h4{font-size:0.8rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--crust-dark); margin-bottom:14px;}
.contact-info-col a, .contact-info-col p{display:block; color:var(--ink); text-decoration:none; font-size:0.94rem; margin-bottom:10px;}
.contact-info-col a:hover{color:var(--crust-dark); text-decoration:underline;}

/* ---------------- contact form ---------------- */
.contact-form .field{ display:flex; flex-direction:column; gap:6px; }
.contact-form label{ font-size:14px; font-weight:600; color:var(--ink,#3a2a1c); }
.contact-form input,
.contact-form textarea{
  font-family:'Work Sans',sans-serif;
  font-size:15px;
  padding:12px 14px;
  border:1px solid var(--line,#e2d6c4);
  border-radius:var(--radius,10px);
  background:var(--cream,#fbf6ec);
  color:var(--ink,#3a2a1c);
  resize:vertical;
}
.contact-form input:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:var(--rye,#a6621f);
}
