:root{
  --graphite:#111210;--graphite2:#181916;--ivory:#efe9dd;--ivory2:#e5ddcf;--ink:#181816;
  --navy:#10385f;--navy2:#0b2e50;--brass:#b78b4b;--brass2:#d2b076;--white:#f5f0e7;
  --muted:#aaa398;--line:rgba(183,139,75,.44);--softline:rgba(255,255,255,.12);
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--graphite)}
body{margin:0;background:var(--graphite);color:var(--white);font-family:var(--sans);line-height:1.5;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:16px;top:12px;z-index:1000;background:var(--ivory);color:var(--ink);padding:10px 14px;border:1px solid var(--brass)}
body.menu-open{overflow:hidden}

.site-header{height:90px;background:var(--navy);border-bottom:1px solid rgba(210,176,118,.58);display:grid;grid-template-columns:248px minmax(0,1fr) auto;align-items:center;gap:28px;padding:0 4.2vw;position:sticky;top:0;z-index:80}
.brand img{display:block;width:248px;height:auto}
.nav{display:flex;justify-content:center;align-items:center;gap:28px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#dce6ef;white-space:nowrap;min-width:0}
.nav a{opacity:.76;position:relative}
.nav a:hover,.nav a:focus-visible{opacity:1}
.contact-link{border:1px solid rgba(210,176,118,.8);padding:13px 18px;font-size:10px;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap;color:var(--brass2)}
.menu-btn{display:none;background:transparent;border:1px solid rgba(210,176,118,.75);color:var(--white);padding:10px 12px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.mobile-panel{display:none;position:absolute;left:0;right:0;top:72px;background:var(--navy2);border-top:1px solid rgba(210,176,118,.35);border-bottom:1px solid rgba(210,176,118,.5);padding:18px 6vw 22px}
.mobile-panel.open{display:grid}
.mobile-panel a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#e1e8ee}
.mobile-panel a:last-child{border-bottom:0;color:var(--brass2)}


/* VISUAL ARCHITECTURE v0.1 — NO PAGE-SPECIFIC IMAGE */
.contact-hero{
  position:relative;
  min-height:calc(100vh - 90px);
  display:grid;
  grid-template-columns:minmax(0,1.62fr) minmax(430px,.88fr);
  align-items:stretch;
  background:var(--graphite);
  border-bottom:1px solid rgba(210,176,118,.34);
  overflow:hidden;
  padding:0 4.2vw 5.2vw;
}
.contact-hero::before{
  content:"";
  position:absolute;
  top:0; bottom:0;
  left:63.25%;
  width:1px;
  background:linear-gradient(180deg,rgba(210,176,118,.12),rgba(210,176,118,.62) 25%,rgba(210,176,118,.24) 76%,rgba(210,176,118,.08));
  pointer-events:none;
}
.contact-hero::after{
  content:"";
  position:absolute;
  left:4.2vw; right:4.2vw; bottom:5.2vw;
  height:1px;
  background:rgba(210,176,118,.22);
  pointer-events:none;
}
.hero-visual{
  position:relative;
  min-height:760px;
  width:100%;
  display:flex;
  align-self:stretch;
  background:transparent;
}
.hero-copy{
  position:relative;
  z-index:2;
  width:100%;
  min-height:760px;
  padding:8vw 5vw 7.2vw 1.4vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass2);font-weight:700;display:flex;align-items:center;gap:16px}
.eyebrow::after{content:"";width:44px;height:1px;background:rgba(210,176,118,.75)}
.headline{font-family:var(--serif);font-weight:400;letter-spacing:-.052em;line-height:.92;margin:25px 0 30px;font-size:clamp(76px,7.5vw,120px);max-width:830px}
.intro{font-family:var(--serif);font-size:clamp(23px,1.8vw,29px);line-height:1.3;max-width:670px;color:#f2ece1;margin:0}
.hero-note{margin-top:auto;padding-top:34px;display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#e7dfd0}
.hero-note::before{content:"";width:38px;height:1px;background:var(--brass2)}

.inquiry-panel{
  position:relative;
  z-index:5;
  width:100%;
  align-self:start;
  margin-top:7.4vw;
  background:linear-gradient(180deg,#0d2c43 0%,#0a2234 100%);
  border-top:1px solid rgba(210,176,118,.72);
  border-left:1px solid rgba(210,176,118,.28);
  border-right:1px solid rgba(210,176,118,.14);
  box-shadow:-28px 34px 70px rgba(0,0,0,.26);
  padding:3.1vw 3vw 3.35vw;
}
.inquiry-panel::before{
  content:"";
  position:absolute;
  top:58px;
  left:-42px;
  width:42px;
  height:1px;
  background:var(--brass2);
}
.form-kicker{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#9bb1c2;font-weight:700;margin-bottom:17px}
.form-title{font-family:var(--serif);font-size:clamp(34px,2.75vw,48px);font-weight:400;line-height:1.04;letter-spacing:-.038em;margin:0 0 14px}
.form-intro{font-size:15px;line-height:1.58;color:#b9c6d0;margin:0 0 26px;max-width:560px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#a8bac9;font-weight:700}
.field input,.field select,.field textarea{width:100%;border:1px solid rgba(188,205,217,.34);background:rgba(255,255,255,.025);color:#f1eee8;padding:13px 13px;border-radius:0;outline:none}
.field select{color:#dbe2e8}
.field option{color:#111}
.field textarea{min-height:118px;resize:vertical;line-height:1.45}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brass2);box-shadow:0 0 0 1px rgba(210,176,118,.25)}
.field input::placeholder,.field textarea::placeholder{color:#8193a1}
.safety{margin:16px 0 13px;padding:13px 0;border-top:1px solid rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.11);font-size:12px;line-height:1.5;color:#b4c0c9}
.ack{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font-size:12px;line-height:1.45;color:#d0d8de;margin:0 0 18px}
.ack input{margin-top:3px;accent-color:var(--brass)}
.submit{width:100%;border:1px solid var(--brass2);background:var(--brass);color:#101518;padding:16px 18px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700}
.submit:hover,.submit:focus-visible{background:var(--brass2)}
.form-status{min-height:20px;margin:12px 0 0;font-size:12px;color:#b9c8d3}
.direct{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13);display:grid;gap:12px}
.direct-label{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#8fa5b6;font-weight:700}
.direct a{font-size:15px;color:#f1eee7;width:max-content;border-bottom:1px solid rgba(210,176,118,.46)}
.office{font-size:13px;color:#aebbc5;line-height:1.5}

.site-footer{min-height:150px;background:var(--navy);border-top:1px solid rgba(210,176,118,.5);padding:34px 5vw;display:flex;justify-content:space-between;align-items:center;gap:30px}
.site-footer img{width:220px;height:auto;display:block}
.footer-note{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#a8b6c3;text-align:right}

@media(max-width:1280px){
 .site-header{grid-template-columns:220px minmax(0,1fr) auto;gap:18px;padding:0 3vw}.brand img{width:220px}.nav{gap:17px;font-size:9.5px;letter-spacing:.13em}.contact-link{padding:12px 15px;font-size:9.5px}
 .contact-hero{grid-template-columns:minmax(0,1.5fr) minmax(400px,.9fr);padding-left:3vw;padding-right:3vw}.contact-hero::before{left:62.5%}.contact-hero::after{left:3vw;right:3vw}.hero-copy{padding-left:1vw;padding-right:4vw}.inquiry-panel{padding:3.2vw 2.7vw}
}
@media(max-width:1100px){
 .site-header{grid-template-columns:190px minmax(0,1fr) auto;gap:12px;padding:0 2.2vw}.brand img{width:190px}.nav{gap:10px;font-size:9px;letter-spacing:.09em}.contact-link{padding:11px 12px;font-size:9px;letter-spacing:.12em}
 .contact-hero{grid-template-columns:minmax(0,1.25fr) minmax(390px,.95fr);padding-left:2.5vw;padding-right:2.5vw}.contact-hero::before{left:58.5%}.contact-hero::after{left:2.5vw;right:2.5vw}.hero-copy{padding-left:1vw;padding-right:3.3vw}.headline{font-size:clamp(68px,7.3vw,86px)}.inquiry-panel{padding:3vw 2.25vw}.form-grid{grid-template-columns:1fr}
}
@media(max-width:840px){
 .site-header{height:72px;grid-template-columns:1fr auto;padding:0 5vw}.brand img{width:184px}.nav,.contact-link{display:none}.menu-btn{display:block}
 .contact-hero{grid-template-columns:1fr;min-height:auto;padding:0;background:var(--graphite);overflow:visible}.contact-hero::before{display:none}.contact-hero::after{display:none}
 .hero-visual{min-height:auto}.hero-copy{width:auto;min-height:auto;padding:18vw 7vw 15vw;justify-content:flex-start}
 .headline{font-size:clamp(58px,15vw,82px);max-width:650px}.intro{font-size:22px;max-width:560px}.hero-note{margin-top:38px;padding-top:0}
 .inquiry-panel{position:relative;width:auto;margin:0 0 0 7vw;padding:13vw 7vw 14vw 8vw;border-right:0;border-bottom:1px solid rgba(210,176,118,.25);box-shadow:none}
 .inquiry-panel::before{top:64px;left:-7vw;width:7vw}.form-grid{grid-template-columns:1fr 1fr}
 .site-footer{padding:32px 6vw;flex-direction:column;align-items:flex-start}.site-footer img{width:205px}.footer-note{text-align:left}
}
@media(max-width:560px){
 .hero-copy{min-height:auto;padding:20vw 7vw 16vw}.headline{font-size:clamp(56px,15.5vw,72px);line-height:.94}.intro{font-size:20px}.hero-note{font-size:9px;line-height:1.4}
 .inquiry-panel{margin-left:7vw;padding:17vw 7vw 18vw 8vw}.form-grid{grid-template-columns:1fr}.form-title{font-size:40px}.field textarea{min-height:135px}
}



/* HAWTHORNE SHARED SITE SHELL v0.1 — header/.source-prototype-footer only; page narrative/layout below remains source-controlled */
.hes-skip{position:fixed;left:14px;top:10px;transform:translateY(-180%);z-index:500;background:#efe9dd;color:#181816;padding:10px 14px;font:700 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;text-decoration:none;border:1px solid #b78b4b}
.hes-skip:focus{transform:translateY(0)}
.site-header{box-sizing:border-box;height:90px;min-height:90px;background:#10385f;border-bottom:1px solid rgba(210,176,118,.58);display:grid;grid-template-columns:248px minmax(0,1fr) auto;align-items:center;gap:28px;padding:0 4.2vw;position:sticky;top:0;z-index:180}
.site-header .brand{display:flex;align-items:center;min-width:0}
.site-header .brand img{display:block;width:248px;max-width:100%;height:auto}
.site-header .nav{display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:nowrap;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:10px;line-height:1.2;letter-spacing:.15em;text-transform:uppercase;color:#dce6ef;white-space:nowrap;min-width:0}
.site-header .nav a{color:#dce6ef;opacity:.76;position:relative;text-decoration:none}
.site-header .nav a:hover,.site-header .nav a:focus-visible{opacity:1;color:#fff}
.site-header .nav a[aria-current="page"]{opacity:1;color:#d2b076}
.site-header .nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:.15em;bottom:-12px;height:1px;background:#d2b076}
.site-header .contact-link{border:1px solid rgba(210,176,118,.8);padding:13px 18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:10px;line-height:1.2;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap;color:#d2b076;text-decoration:none}
.site-header .contact-link:hover,.site-header .contact-link:focus-visible{background:rgba(210,176,118,.08);color:#f5f0e7}
.site-header .contact-link[aria-current="page"]{background:rgba(210,176,118,.10);color:#f5f0e7}
.site-header .menu-btn{display:none;background:transparent;border:1px solid rgba(210,176,118,.75);color:#f5f0e7;padding:10px 12px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:10px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.site-header .mobile-panel{display:none;position:absolute;left:0;right:0;top:72px;background:#0b2e50;border-top:1px solid rgba(210,176,118,.35);border-bottom:1px solid rgba(210,176,118,.5);padding:18px 6vw 22px;z-index:181}
.site-header .mobile-panel.open{display:grid;grid-template-columns:1fr;justify-content:stretch;align-items:stretch;gap:0;flex-wrap:nowrap}
.site-header .mobile-panel a{display:block;width:100%;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:10px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:#e1e8ee;text-decoration:none}
.site-header .mobile-panel a:last-child{border-bottom:0}
.site-header .mobile-panel a[aria-current="page"]{color:#d2b076}
body.menu-open{overflow:hidden}
.site-footer{box-sizing:border-box;min-height:150px;height:auto;background:#10385f;border-top:1px solid rgba(210,176,118,.5);padding:34px 5vw;display:flex;justify-content:space-between;align-items:center;gap:30px}
.site-footer .footer-brand{display:flex;align-items:center}
.site-footer .footer-brand img{width:220px;max-width:100%;height:auto;display:block}
.site-footer .footer-note{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:9px;line-height:1.45;letter-spacing:.15em;text-transform:uppercase;color:#a8b6c3;text-align:right}
@media(max-width:1280px){
 .site-header{grid-template-columns:220px minmax(0,1fr) auto;gap:18px;padding:0 3vw}.site-header .brand img{width:220px}.site-header .nav{gap:17px;font-size:9.5px;letter-spacing:.13em}.site-header .contact-link{padding:12px 15px;font-size:9.5px}
}
@media(max-width:1100px){
 .site-header{grid-template-columns:190px minmax(0,1fr) auto;gap:12px;padding:0 2.2vw}.site-header .brand img{width:190px}.site-header .nav{gap:10px;font-size:9px;letter-spacing:.09em}.site-header .contact-link{padding:11px 12px;font-size:9px;letter-spacing:.12em}
}
@media(max-width:1000px){
 .site-header{height:72px;min-height:72px;grid-template-columns:1fr auto;gap:18px;padding:0 5vw}.site-header .brand img{width:184px}.site-header .nav,.site-header .contact-link{display:none}.site-header .menu-btn{display:block}.site-footer{padding:32px 6vw;flex-direction:column;align-items:flex-start}.site-footer .footer-brand img{width:205px}.site-footer .footer-note{text-align:left}
}
@media(max-width:560px){.site-header .brand img{width:184px}.site-header .menu-btn{padding:10px 11px}.site-footer{min-height:132px}}

/* v0.6.1 contact clarity and legibility */
.contact-hero .hero-copy{min-height:0}
.contact-hero .hero-note{margin-top:44px;width:max-content;max-width:100%;text-decoration:none;border-bottom:1px solid rgba(210,176,118,.5);padding-bottom:7px}
.contact-hero .hero-note:focus-visible{outline:2px solid var(--brass2);outline-offset:5px}
.contact-hero .form-instructions{font-size:14px;line-height:1.55;color:#e0e8ec;margin:0 0 24px;max-width:560px}
.contact-hero .form-instructions a{text-decoration:underline;text-decoration-color:var(--brass2);text-underline-offset:3px;overflow-wrap:anywhere}
.contact-hero .field label,.contact-hero .direct-label{font-size:11px;color:#dae4eb;letter-spacing:.105em}
.contact-hero .field input::placeholder,.contact-hero .field textarea::placeholder{color:#b6c5ce;opacity:1}
.contact-hero .safety{color:#d5e0e7}
.contact-hero .form-status{color:#e1e9ed}
.contact-hero .direct a{overflow-wrap:anywhere;width:auto}
@media(max-width:840px){
  .contact-hero .hero-copy{padding:11vw 7vw 8vw}
  .contact-hero .hero-note{margin-top:26px}
  .contact-hero .inquiry-panel{padding-top:9vw}
}
@media(max-width:560px){
  .contact-hero .hero-copy{padding:10vw 7vw 7vw}
  .contact-hero .headline{font-size:clamp(48px,12.6vw,62px);margin:20px 0 22px}
  .contact-hero .intro{font-size:19px}
  .contact-hero .inquiry-panel{padding:10vw 7vw 14vw 8vw}
}

/* v0.6.2 — one editorial contact composition; remove the floating blue card. */
.contact-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;min-height:0;padding:clamp(60px,7vw,112px) clamp(28px,5.5vw,100px) clamp(68px,7vw,112px);gap:clamp(34px,5vw,96px);overflow:visible}
.contact-hero::before,.contact-hero::after{display:none}
.contact-hero .hero-visual{min-height:0;align-self:start}
.contact-hero .hero-copy{min-height:0;justify-content:flex-start;padding:0}
.contact-hero .headline{font-size:clamp(64px,6.5vw,112px);max-width:740px}
.contact-hero .inquiry-panel{margin:0;min-width:0;padding:0 0 0 clamp(30px,3vw,54px);background:transparent;border:0;border-left:1px solid rgba(210,176,118,.5);box-shadow:none}
.contact-hero .inquiry-panel::before{display:none}
.contact-hero .form-kicker{color:var(--brass2)}
.contact-hero .form-title{font-size:clamp(36px,3.2vw,54px);max-width:620px}
.contact-hero .form-intro{color:#ded8ce}
.contact-hero .form-grid{grid-template-columns:1fr 1fr}
.contact-hero .field input,.contact-hero .field select,.contact-hero .field textarea{background:#192126}
@media(max-width:1000px){
  .contact-hero{display:block;padding:clamp(48px,8vw,90px) 7vw 12vw}
  .contact-hero .hero-copy{padding:0}
  .contact-hero .headline{font-size:clamp(54px,10vw,84px)}
  .contact-hero .inquiry-panel{margin:clamp(38px,7vw,72px) 0 0;padding:clamp(36px,7vw,64px) 0 0;border:0;border-top:1px solid rgba(210,176,118,.5);width:100%}
  .contact-hero .form-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .contact-hero{padding:10vw 7vw 13vw}
  .contact-hero .hero-copy{padding:0}
  .contact-hero .headline{font-size:clamp(48px,12.6vw,62px)}
  .contact-hero .inquiry-panel{margin:9vw 0 0;padding:9vw 0 0}
  .contact-hero .form-title{font-size:clamp(32px,8.5vw,42px)}
  .contact-hero .form-grid{grid-template-columns:1fr}
}
