@font-face{font-family:Orée;src:url("editorial-regular.woff") format("woff");font-display:swap}
@font-face{font-family:Orée;src:url("editorial-italic.woff") format("woff");font-style:italic;font-display:swap}
:root{--paper:#fbf8f1;--sand:#ede3d5;--ink:#241c1a;--muted:#60534c;--wine:#351b20;--rose:#eac9b5;--line:#d6c8bb;--pad:clamp(20px,5.6vw,96px);--serif:Orée,Georgia,serif;--sans:Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}
a{color:inherit}
img{display:block;max-width:100%;object-fit:cover}
figure,p,h1,h2,h3,blockquote{margin:0}
h1,h2,h3,blockquote{font-family:var(--serif);font-weight:400}
h1,h2{letter-spacing:-.052em;line-height:.94;text-wrap:balance}
h2{font-size:clamp(52px,6.4vw,102px)}
h3{font-size:clamp(27px,3vw,43px);line-height:1.06}
h1 em,h2 em{font-weight:400}
h2 em{color:#793f42}
:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.skip{position:absolute;left:12px;top:12px;z-index:3;background:white;padding:10px;transform:translateY(-150%)}
.skip:focus{transform:none}
.header,.footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:11px var(--pad);min-height:78px}
.brand{display:inline-flex;width:max-content}
.brand img{width:96px;height:auto}
.header nav{display:flex;gap:clamp(16px,3.7vw,50px)}
.header nav a,.footer a{font-size:14px;text-decoration:none}
.header nav a:hover,.footer a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.header-cta,.footer>a:last-child{justify-self:end}
.button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:49px;padding:10px 17px;border:1px solid var(--wine);background:var(--wine);color:var(--paper);text-decoration:none;font:600 13px/1.3 var(--sans);cursor:pointer}
.button:hover{background:#60383e;color:white}
.button:disabled{display:none}
.button.light{background:var(--paper);border-color:var(--paper);color:var(--wine)}
.button.light:hover{background:var(--rose);border-color:var(--rose)}
.button span,.text-link span,.visit-strip a span,.footer a span{font-family:"DejaVu Sans","Segoe UI Symbol",sans-serif}
.text-link{display:inline-flex;gap:10px;align-items:center;min-height:44px;text-decoration:none;font-size:14px}
.eyebrow{font:700 11px/1.45 var(--sans);letter-spacing:.145em;text-transform:uppercase}
.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--wine);color:var(--paper)}
.hero-copy{align-self:center;padding:clamp(45px,8vw,135px) 28px clamp(45px,8vw,135px) var(--pad)}
.hero-copy .eyebrow,.hero h1 em{color:var(--rose)}
.hero h1{font-size:clamp(74px,9vw,155px);margin:22px 0 21px;text-wrap:initial}
.hero-intro{max-width:365px;color:#f4e0d4;margin-bottom:23px}
.hero-photo{min-width:0;position:relative;background:#674c43}
.hero-photo img{position:absolute;width:100%;height:100%;object-position:center 54%}
.actions{display:flex;gap:10px 23px;align-items:center;flex-wrap:wrap}
.visit-strip{display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;padding:16px var(--pad);border-bottom:1px solid var(--line);font-size:13px;font-weight:600}
.visit-strip a{text-underline-offset:3px}
.section{padding:clamp(60px,8vw,120px) var(--pad)}
.section-head{display:grid;grid-template-columns:.6fr 1.2fr .85fr;align-items:end;gap:20px;margin-bottom:36px}
.section-head>p:first-child{align-self:start;margin-top:8px}
.section-head>p:last-child,.journal-copy>p:not(.eyebrow),.appointment-copy>p:not(.eyebrow){color:var(--muted);max-width:385px}
.showroom-grid{display:grid;grid-template-columns:1.65fr 1fr;align-items:end;gap:clamp(14px,3.8vw,65px)}
.showroom-grid img,.looks img,.directions img{width:100%;height:auto}
.inside img{aspect-ratio:1.36;object-position:center 48%}
.sign img{aspect-ratio:1.15;object-position:center 42%}
figcaption{padding:11px 0 0;font-size:13px;color:var(--muted)}
.wardrobe{background:var(--sand)}
.looks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2.6vw,45px)}
.looks img{aspect-ratio:4/5}
.looks figcaption{font:clamp(18px,2.2vw,32px)/1.15 var(--serif);color:var(--ink)}
.small{font-size:13px;color:var(--muted)}
.wardrobe>.small{margin-top:19px}
.journal,.appointment,.directions{display:grid;grid-template-columns:1fr 1fr;gap:clamp(27px,7vw,110px);align-items:center}
.journal-copy>h2,.appointment h2,.directions h2{margin:16px 0 20px;text-wrap:initial}
.journal .text-link{margin-top:12px}
.journal-notes{border-block:1px solid var(--line)}
.journal-notes article{padding:22px 0}
.journal-notes article+article{border-top:1px solid var(--line)}
.journal-notes h3,.journal-notes blockquote{margin:10px 0 4px}
.journal-notes blockquote{font-size:clamp(22px,2.65vw,35px);font-style:italic}
.appointment{background:var(--sand);align-items:start}
.appointment-copy img{width:min(100%,340px);height:auto;aspect-ratio:1.35;margin-top:25px;object-position:center 38%}
.booking{display:grid;gap:14px;background:var(--paper);padding:clamp(17px,3.2vw,44px);border:1px solid var(--line)}
.booking .button{justify-self:start}
.field{display:grid;gap:6px;min-width:0}
.field label{font-size:13px;font-weight:700}
.field label span{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #b9aa9c;border-radius:0;background:white;color:var(--ink);font:16px/1.25 var(--sans);min-height:46px;padding:10px}
.field textarea{resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#booking-status:empty{display:none}
.directions{align-items:center}
.directions figure{max-width:470px}
.directions img{aspect-ratio:1.2;object-position:center 52%}
address{font-style:normal}
.directions address,.directions p:not(.eyebrow){margin-bottom:15px}
.footer{border-top:1px solid var(--line);color:var(--muted)}
.footer p{font-size:13px}
@media(max-width:900px){
  .section-head{grid-template-columns:1fr 1fr}
  .section-head>p:first-child{grid-column:1/-1}
  .hero h1{font-size:clamp(63px,10vw,105px)}
}
@media(max-width:650px){
  .header{grid-template-columns:auto 1fr;min-height:64px}
  .header nav{grid-column:1/-1;grid-row:2;justify-content:space-between;padding-top:8px;border-top:1px solid var(--line)}
  .header nav a{display:flex;align-items:center;min-height:34px}
  .header-cta{grid-column:2;grid-row:1;min-height:39px}
  .brand img{width:80px}
  .hero,.section-head,.journal,.appointment,.directions{grid-template-columns:1fr}
  .hero-copy{padding:35px var(--pad) 25px}
  .hero h1{font-size:clamp(65px,15vw,100px);margin-block:16px}
  .hero-photo{aspect-ratio:1.24}
  .hero-photo img{object-position:center 52%}
  .visit-strip{gap:4px 16px;font-size:12px}
  .section-head{gap:14px;margin-bottom:24px}
  .showroom-grid{grid-template-columns:1fr 1fr;align-items:start}
  .showroom-grid img{aspect-ratio:4/5}
  .looks{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .looks figcaption{font-size:17px}
  .appointment-copy img{width:100%;aspect-ratio:2.2}
  .directions figure{order:2}
  .footer{grid-template-columns:1fr auto}
  .footer p{display:none}
}
@media(max-width:360px){.form-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
