:root{
[hidden]{display:none!important}
  --bg:#F8F5EE; --bg-2:#F1ECE2; --ink:#2B2522; --muted:#6B605A;
  --rust:#923E1A; --rust-dark:#7A3214; --line:#DCD3C6;
  --serif:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);font-weight:400;font-size:clamp(18px,1.05rem + .25vw,21px);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--rust)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--rust);color:#fff;padding:.5rem 1rem;z-index:10}
.skip:focus{left:1rem;top:1rem}

.site-header{display:flex;justify-content:flex-end;padding:1.5rem clamp(1.25rem,5vw,4rem);max-width:var(--max);margin:0 auto}
.site-header nav{display:flex;gap:2rem}
.site-header nav a{color:var(--muted);text-decoration:none;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase}
.site-header nav a:hover{color:var(--rust)}

.section-title{font-weight:300;font-size:clamp(1.9rem,1.4rem + 2vw,2.8rem);letter-spacing:.02em;line-height:1.15;margin:0 0 1.5rem;color:var(--ink)}
.section-title::after{content:"";display:block;width:48px;height:1px;background:var(--rust);margin-top:1.25rem}
.narrow{max-width:640px;margin:0 auto}

/* Hero */
.hero{max-width:var(--max);margin:0 auto;padding:clamp(1rem,4vw,3rem) clamp(1.25rem,5vw,4rem) clamp(4rem,9vw,8rem);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.hero-logo{width:min(100%,520px);margin:0 0 2.5rem -1.5%}
.eyebrow{font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:var(--rust);margin:0 0 1rem}
.hero h1{font-weight:300;font-size:clamp(1.8rem,1.3rem + 1.9vw,2.6rem);line-height:1.2;margin:0 0 1.5rem;max-width:22ch}
.lede{color:var(--muted);max-width:44ch;margin:0 0 2.25rem}
.link-cta{display:inline-block;color:var(--rust);text-decoration:none;font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:.3rem}
.link-cta:hover{color:var(--rust-dark)}
.hero-image{margin:0}
.hero-image img{width:100%;aspect-ratio:2/3;object-fit:cover;max-height:82vh}
figcaption{font-size:.8rem;font-style:italic;color:var(--muted);margin-top:.75rem;text-align:right}

/* About */
.about{background:var(--bg-2);padding:clamp(4.5rem,10vw,9rem) clamp(1.25rem,5vw,4rem)}
.about p{font-size:1.15em;line-height:1.7;margin:0 0 1.25rem;color:var(--ink)}
.about p:last-child{color:var(--muted)}

/* Craft */
.craft{max-width:var(--max);margin:0 auto;padding:clamp(4.5rem,10vw,9rem) clamp(1.25rem,5vw,4rem)}
.craft>.section-title{text-align:center}
.craft>.section-title::after{margin-left:auto;margin-right:auto}
.craft-list{list-style:none;padding:0;margin:3.5rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2rem,4vw,4rem)}
.craft-list figure{margin:0 0 1.75rem}
.craft-list img{width:100%;aspect-ratio:3/4;object-fit:cover}
.num{display:block;color:var(--rust);font-size:.85rem;letter-spacing:.3em;margin-bottom:.4rem}
.craft-list h3{font-weight:400;font-size:1.5rem;margin:0 0 .6rem;letter-spacing:.02em}
.craft-list p{margin:0;color:var(--muted)}

/* Gallery */
.gallery{max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,5vw,4rem) clamp(4.5rem,10vw,9rem);display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(.75rem,2vw,1.5rem);align-items:stretch}
.gallery figure{margin:0;min-height:0;height:clamp(300px,38vw,540px)}
.gallery img{width:100%;height:100%;object-fit:cover}
.g-slot .slot-inner{height:100%;min-height:260px;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem;color:var(--muted);font-style:italic;font-size:.95rem}

/* Interest */
.interest{background:var(--bg-2);padding:clamp(4.5rem,10vw,9rem) clamp(1.25rem,5vw,4rem)}
.intro{color:var(--muted);margin:0 0 2.5rem}
form{display:grid;gap:1.5rem}
.field{display:grid;gap:.4rem;margin:0;padding:0;border:0;min-width:0}
label,legend{font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);padding:0}
.opt{text-transform:none;letter-spacing:0;color:var(--muted);font-style:italic;font-size:.95rem}
input[type=text],input[type=email],textarea{font:inherit;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #BFB3A3;padding:.5rem 0;border-radius:0;width:100%}
input[type=text]:focus,input[type=email]:focus,textarea:focus{border-bottom-color:var(--rust);outline:none;box-shadow:0 1px 0 var(--rust)}
textarea{resize:vertical;min-height:6rem}
[aria-invalid=true]{border-bottom-color:#A3271B!important}
legend{margin-bottom:.75rem}
.choices{display:flex;flex-wrap:wrap;gap:.6rem 1.75rem}
.choices label,.consent label{text-transform:none;letter-spacing:0;font-size:1rem;display:flex;gap:.6rem;align-items:baseline;cursor:pointer}
.consent label{color:var(--muted);font-size:.95rem;line-height:1.5}
input[type=radio],input[type=checkbox]{accent-color:var(--rust);width:1rem;height:1rem;flex:none;transform:translateY(2px)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
button{justify-self:start;font:inherit;font-size:.9rem;letter-spacing:.24em;text-transform:uppercase;color:var(--bg);background:var(--rust);border:1px solid var(--rust);padding:.9rem 2.6rem;cursor:pointer;transition:background .2s}
button:hover{background:var(--rust-dark)}
button:disabled{opacity:.6;cursor:progress}
.form-error{color:#A3271B;margin:0}
.success{border-top:1px solid var(--rust);padding-top:2rem}
.success:focus{outline:none}
.success-title{font-size:2rem;font-weight:300;margin:0 0 .5rem;color:var(--rust)}

/* Footer */
.site-footer{text-align:center;padding:4.5rem 1.25rem 3.5rem}
.site-footer img{width:160px;margin:0 auto 1.25rem}
.site-footer p{margin:.25rem 0;color:var(--muted);font-size:.95rem}
.site-footer .fine{font-size:.8rem;font-style:italic;margin-top:1rem}

@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .hero-text{order:1}.hero-image{order:2}
  .hero-logo{width:min(100%,420px)}
  .craft-list{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}
  .gallery{grid-template-columns:1fr 1fr}
  .g-wide{grid-column:1/-1}
  .gallery figure{height:clamp(260px,60vw,480px)}
}
@media (max-width:520px){
  .site-header{justify-content:center}
  .site-header nav{gap:1.5rem}
  .gallery{grid-template-columns:1fr}
  .gallery figure{height:auto}
  .g-wide img{aspect-ratio:16/9}
  .g-tall img{aspect-ratio:4/5}
  .g-slot .slot-inner{min-height:160px}
}
