:root{--cream:#f6f2e9;--paper:#fffdf8;--green:#112a20;--green2:#193b2d;--gold:#b28a46;--ink:#172019;--muted:#6d706b;--line:#d9cbb0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.65}a{color:inherit;text-decoration:none}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:rgba(255,253,248,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:15px}.brand img{width:64px;height:86px;object-fit:contain;filter:grayscale(1)}.brand strong{font-size:20px;letter-spacing:2px}.brand small{display:block;color:var(--gold);letter-spacing:3px;font-size:9px;text-transform:uppercase;margin-top:3px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:11px;letter-spacing:1.8px;text-transform:uppercase}.site-header nav>a:not(.nav-cta){padding:10px 0;border-bottom:1px solid transparent}.site-header nav>a:hover{border-color:var(--gold)}.nav-cta,.button{background:var(--green);color:white;padding:14px 24px;border:1px solid var(--gold);letter-spacing:1.5px;text-transform:uppercase;font-size:11px}.menu{display:none;background:none;border:0;font-size:24px}.hero{min-height:610px;display:grid;grid-template-columns:1.15fr .85fr;background:linear-gradient(90deg,var(--paper) 0 57%,#e8e9e2 57%);position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-copy{padding:125px 7vw 90px 15vw;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:3px;color:var(--gold);font-size:12px;margin:0 0 16px}.hero h1{font-size:68px;line-height:.95;letter-spacing:5px;margin:0;font-weight:400}.hero h1 span{font-size:36px;letter-spacing:9px}.ornament{display:flex;align-items:center;gap:18px;margin:28px 0;width:390px;color:var(--gold)}.ornament i{height:1px;background:var(--gold);flex:1}.lead{font-size:23px;max-width:590px}.hero-copy>p:not(.eyebrow):not(.lead){max-width:570px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:35px}.text-link{font-size:13px;border-bottom:1px solid var(--gold)}.crest-watermark{position:absolute;left:-75px;top:65px;opacity:.06;width:430px}.crest-watermark img{width:100%;filter:grayscale(1)}.hero-portrait{position:relative;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(rgba(17,42,32,.05),rgba(17,42,32,.15)),radial-gradient(circle at center,#44634c,#182c22);overflow:hidden}.portrait-frame{height:100%;width:100%;display:flex;align-items:flex-end;justify-content:center}.portrait-frame img{height:100%;width:100%;max-width:none;object-fit:cover;object-position:50% 42%;filter:saturate(.82) contrast(1.02);mix-blend-mode:normal}.portrait-caption{position:absolute;bottom:30px;left:30px;background:rgba(17,42,32,.93);color:white;padding:14px 20px;border-left:2px solid var(--gold)}.portrait-caption strong,.portrait-caption span{display:block}.portrait-caption span{font-size:11px;color:#d7c39c;letter-spacing:1px}.principles{display:grid;grid-template-columns:repeat(4,1fr);padding:55px 7vw;gap:35px;border-bottom:1px solid var(--line)}.principles article{text-align:center;border-right:1px solid #eee3d2;padding:0 22px}.principles article:last-child{border:0}.principles span,.service-grid em{color:var(--gold);font-style:normal;font-size:12px;letter-spacing:2px}.principles h3,.service-grid h3{text-transform:uppercase;letter-spacing:2px;font-size:15px}.principles p{color:var(--muted);font-size:14px}.section{display:grid;grid-template-columns:190px 1fr;gap:65px;padding:110px 9vw}.section-label{writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;letter-spacing:5px;color:var(--gold);font-size:11px;border-left:1px solid var(--line);padding-left:22px;justify-self:end}.section h2{font-size:48px;line-height:1.15;font-weight:400;margin:0 0 25px;max-width:800px}.section .large{font-size:21px;max-width:950px}.intro>div:last-child>p:last-child{max-width:900px;color:var(--muted)}.dark{background:var(--green);color:white}.dark .section-label{border-color:#496454}.gold{color:#c6a45f}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#3a5043;border:1px solid #3a5043;margin-top:50px}.service-grid article{background:var(--green);padding:35px;min-height:210px}.service-grid article:hover{background:var(--green2)}.service-grid p{color:#c8d0ca}.statement{background:linear-gradient(rgba(17,42,32,.96),rgba(17,42,32,.96)),repeating-linear-gradient(45deg,#1b382b 0 2px,#183125 2px 5px);color:#d6b66f;text-align:center;padding:80px 20px;position:relative;overflow:hidden}.statement p{font-size:28px;max-width:900px;margin:0 auto 15px}.statement span{letter-spacing:3px;text-transform:uppercase;font-size:10px}.statement-crest{position:absolute;width:260px;left:2%;top:-35%;opacity:.06;filter:invert(1)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact dl{display:grid;grid-template-columns:100px 1fr;margin-top:35px}.contact dt{color:var(--gold)}.contact dd{margin:0 0 12px}.contact form{background:var(--cream);padding:38px}.contact label{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-bottom:18px}.contact input,.contact textarea{width:100%;margin-top:7px;border:0;border-bottom:1px solid #bba984;background:transparent;padding:12px;font:inherit}.contact .check{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0}.contact .check input{width:auto;margin-top:5px}.contact form small{display:block;color:var(--muted);margin-top:15px}footer{background:#0b1d16;color:white;padding:35px 7vw;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:50px;font-size:12px}footer a{margin-right:22px}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img{width:55px;height:65px;object-fit:contain;filter:invert(1) grayscale(1)}.footer-brand strong,.footer-brand span{display:block;letter-spacing:2px}.footer-brand span{color:#c6a45f;font-size:9px}.legal{max-width:980px;margin:auto;padding:80px 25px}.legal h1{font-size:48px}.legal h2{margin-top:38px}.legal a{text-decoration:underline}.back{display:inline-block;margin-bottom:30px;color:var(--gold)}
@media(max-width:1000px){.site-header nav{display:none;position:absolute;top:104px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column}.site-header nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr;min-height:auto;background:var(--paper)}.hero-copy{padding:85px 8vw 60px}.hero-portrait{height:600px}.principles{grid-template-columns:repeat(2,1fr)}.section{grid-template-columns:1fr;padding:80px 7vw}.section-label{writing-mode:horizontal-tb;transform:none;justify-self:start;border-left:0;border-bottom:1px solid var(--line);padding:0 0 8px}.contact-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}}
@media(max-width:600px){.site-header{height:82px}.brand img{width:45px;height:62px}.brand strong{font-size:14px}.site-header nav{top:82px}.hero-copy{padding-top:60px}.hero h1{font-size:45px}.hero h1 span{font-size:23px;letter-spacing:5px}.ornament{width:100%}.hero-actions{align-items:flex-start;flex-direction:column}.hero-portrait{height:470px}.portrait-frame img{height:100%}.principles{grid-template-columns:1fr}.principles article{border-right:0;border-bottom:1px solid #eee3d2;padding-bottom:25px}.section h2{font-size:36px}.section .large{font-size:18px}.statement p{font-size:22px}.contact form{padding:25px}}

/* V3 enhancements */
.site-header nav .active{border-color:var(--gold)}
.profile-link{display:inline-block;margin-top:20px}
.services{background:linear-gradient(135deg,#0f291f 0%,#153428 58%,#0f291f 100%);position:relative;overflow:hidden}
.services:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(198,164,95,.08);border-radius:50%;right:-260px;top:-180px;box-shadow:0 0 0 70px rgba(198,164,95,.025),0 0 0 140px rgba(198,164,95,.02);pointer-events:none}
.flip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;background:transparent;border:0;position:relative;z-index:1}
.flip-card{background:transparent!important;padding:0!important;min-height:260px!important;perspective:1200px;cursor:pointer;outline:none}
.flip-card-inner{position:relative;width:100%;height:100%;min-height:260px;transition:transform .72s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.flip-card:hover .flip-card-inner,.flip-card:focus .flip-card-inner,.flip-card.is-flipped .flip-card-inner{transform:rotateY(180deg)}
.flip-card-front,.flip-card-back{position:absolute;inset:0;padding:34px;border:1px solid rgba(198,164,95,.30);backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;justify-content:center;background:rgba(15,41,31,.72)}
.flip-card-front:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:linear-gradient(var(--gold),transparent 75%);opacity:.9}
.flip-card-back{transform:rotateY(180deg);background:#f5efe4;color:var(--ink);border-color:#cfb477}
.flip-card-back p{color:#585c57}.flip-card-back a{color:#785d2c;border-bottom:1px solid #b28a46;align-self:flex-start;font-size:12px;letter-spacing:.8px;margin-top:8px}.flip-hint{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:#d2b978;margin-top:auto;padding-top:18px}.flip-card.featured{grid-column:1/-1}.flip-card.featured .flip-card-inner{min-height:220px}.flip-card.featured .flip-card-front,.flip-card.featured .flip-card-back{padding-left:44px;padding-right:44px}.service-note{font-size:11px;color:#aebcaf;letter-spacing:1px;margin-top:18px}
.light-accent{background:#f3eee4}.about-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:center}.about-crest{min-height:360px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.about-crest img{width:200px;filter:grayscale(1);opacity:.55}.about-crest span{text-transform:uppercase;letter-spacing:2px;color:var(--gold);font-size:10px;margin-top:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact .check a{text-decoration:underline}.contact form .button{cursor:pointer}
.about-hero{min-height:610px;display:grid;grid-template-columns:1.1fr .9fr;position:relative;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--line)}.about-hero-copy{padding:120px 7vw 100px 14vw;position:relative;z-index:2}.about-hero h1{font-size:58px;line-height:1.06;font-weight:400;max-width:780px;margin:0 0 28px}.about-hero .large{font-size:22px;max-width:740px}.about-hero-copy>p:last-child{max-width:720px;color:var(--muted)}.about-portrait{background:linear-gradient(rgba(17,42,32,.08),rgba(17,42,32,.18)),radial-gradient(circle at center,#44634c,#182c22);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.about-portrait img{height:100%;width:100%;max-width:none;object-fit:cover;object-position:50% 42%;filter:saturate(.88)}
.about-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#dfd2ba;border:1px solid #dfd2ba;margin-top:45px}.about-columns article{background:var(--paper);padding:30px}.about-columns span{color:var(--gold);font-size:11px;letter-spacing:2px}.about-columns h3{text-transform:uppercase;letter-spacing:1.6px}.about-columns p{color:var(--muted)}.focus-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.focus-list span{border:1px solid rgba(198,164,95,.35);padding:10px 14px;color:#dbe2dd;font-size:12px;letter-spacing:.7px}.about-cta{text-align:center;padding:95px 20px;background:var(--green);color:white;position:relative;overflow:hidden}.about-cta h2{font-size:42px;font-weight:400;max-width:820px;margin:0 auto 30px;line-height:1.2}.about-cta .statement-crest{left:auto;right:4%;top:-40px}
@media(max-width:1000px){.flip-grid{grid-template-columns:1fr}.flip-card.featured{grid-column:auto}.about-grid{grid-template-columns:1fr}.about-crest{border-left:0;border-top:1px solid var(--line);padding-top:45px}.about-hero{grid-template-columns:1fr}.about-hero-copy{padding:85px 8vw 60px}.about-portrait{height:580px}.about-columns{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}
@media(max-width:600px){.flip-card,.flip-card-inner{min-height:300px!important}.flip-card-front,.flip-card-back{padding:28px}.about-hero h1{font-size:40px}.about-hero .large{font-size:19px}.about-portrait{height:470px}.about-cta h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.flip-card-inner{transition:none}}

/* V4 local service detail pages */
.service-detail-hero{min-height:610px;position:relative;overflow:hidden;background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 66%,#f1eadf 100%);border-bottom:1px solid var(--line);display:flex;align-items:center}.service-detail-copy{padding:105px 12vw 90px 15vw;position:relative;z-index:2;max-width:1050px}.service-detail-hero h1{font-size:64px;line-height:1.02;font-weight:400;margin:10px 0 18px;max-width:900px}.service-subtitle{font-size:25px;color:#6f5a38;margin:0 0 24px}.service-detail-hero .large{font-size:21px;max-width:850px;color:var(--muted);margin-bottom:32px}.back-link{display:inline-block;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:1.6px;margin-bottom:35px}.service-detail{background:var(--paper)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#dfd2ba;border:1px solid #dfd2ba;margin-top:42px}.detail-grid article{background:#fffdf9;padding:34px;min-height:220px}.detail-grid article:last-child:nth-child(odd){grid-column:1/-1}.detail-grid span{color:var(--gold);font-size:11px;letter-spacing:2px}.detail-grid h3{text-transform:uppercase;letter-spacing:1.4px;font-size:16px;margin:16px 0}.detail-grid p{color:var(--muted);margin:0}.service-benefit{background:var(--green);color:white;text-align:center;padding:90px 9vw;position:relative;overflow:hidden}.service-benefit h2{font-size:40px;font-weight:400;line-height:1.2;max-width:980px;margin:0 auto 34px}.detail-actions{display:flex;justify-content:center;align-items:center;gap:30px}.light-link{color:#e5d3ad;border-color:#c6a45f}@media(max-width:1000px){.service-detail-copy{padding:80px 8vw}.service-detail-hero h1{font-size:50px}.detail-grid{grid-template-columns:1fr}.detail-grid article:last-child:nth-child(odd){grid-column:auto}}@media(max-width:600px){.service-detail-hero{min-height:auto}.service-detail-copy{padding:65px 7vw}.service-detail-hero h1{font-size:40px}.service-subtitle{font-size:21px}.detail-actions{flex-direction:column}.service-benefit h2{font-size:32px}}

.hero-brandline{margin:0 0 18px;color:var(--gold);text-transform:uppercase;letter-spacing:3px;font-size:12px;line-height:1.55}.hero-brandline strong,.hero-brandline span{display:block;font-weight:400}.hero-brandline span{letter-spacing:4px;font-size:10px;margin-top:2px}

/* Hero brand lockup refinement */
.hero-welcome{margin-bottom:14px}
.hero-lockup{margin:0 0 10px}
.hero-lockup h1{font-size:48px;line-height:1.08;letter-spacing:3px;margin:0;font-weight:700;white-space:nowrap}
.hero-lockup p{margin:10px 0 0;color:var(--gold);font-size:14px;letter-spacing:5px;text-transform:uppercase}
@media(max-width:1200px){.hero-lockup h1{font-size:42px;white-space:normal}.hero-lockup p{font-size:12px;letter-spacing:4px}}
@media(max-width:600px){.hero-lockup h1{font-size:34px;letter-spacing:2px}.hero-lockup p{font-size:10px;letter-spacing:3px}}

/* V11 – final logo integration */
.brand.brand-logo{
  display:flex;
  align-items:center;
  width:min(360px,34vw);
  height:86px;
  overflow:visible;
}
.brand.brand-logo img{
  width:100%;
  height:78px;
  max-width:360px;
  object-fit:contain;
  object-position:left center;
  filter:none;
}
.hero-logo-lockup{
  max-width:610px;
}
.hero-logo-lockup h1{
  color:var(--green);
  font-weight:400;
  letter-spacing:3px;
  font-size:44px;
  line-height:1.08;
}
.hero-logo-rule{
  display:flex;
  align-items:center;
  gap:14px;
  width:min(100%,540px);
  margin:18px 0 12px;
  color:var(--gold);
}
.hero-logo-rule span{
  height:1px;
  background:var(--gold);
  flex:1;
}
.hero-logo-rule b{
  font-size:12px;
  font-weight:400;
  line-height:1;
}
.hero-logo-lockup p{
  margin:0;
  color:var(--gold);
  font-size:16px;
  letter-spacing:5px;
  text-transform:uppercase;
}
@media(max-width:1180px){
  .brand.brand-logo{width:300px}
  .brand.brand-logo img{height:70px}
  .site-header nav{gap:20px}
  .hero-logo-lockup h1{font-size:38px}
}
@media(max-width:1000px){
  .brand.brand-logo{width:330px;max-width:70vw}
}
@media(max-width:600px){
  .brand.brand-logo{width:245px;height:68px;max-width:72vw}
  .brand.brand-logo img{height:60px}
  .hero-logo-lockup h1{font-size:31px;letter-spacing:1.8px}
  .hero-logo-lockup p{font-size:12px;letter-spacing:3.2px}
  .hero-logo-rule{margin:14px 0 10px}
}

/* V12 – Hero simplification */
.hero-copy .hero-logo-lockup + .lead{margin-top:44px}
.hero-logo-rule{width:min(100%,520px)}
/* V12 – Legal pages */
.legal-header{position:relative}.legal-nav{display:flex;align-items:center;gap:28px}.legal-premium{max-width:1080px;margin:0 auto;padding:90px 6vw 110px}.legal-premium>h1{font-size:56px;font-weight:400;color:var(--green);margin:10px 0 34px}.legal-intro{font-size:20px;color:var(--muted);max-width:800px;margin-bottom:38px}.legal-card{background:#fffdf9;border:1px solid var(--line);padding:30px 34px;margin:0 0 16px}.legal-card h2{margin:0 0 15px;color:var(--green);font-size:18px;text-transform:uppercase;letter-spacing:1.4px}.legal-card p{margin:0;color:var(--muted);line-height:1.75}.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.legal-grid .legal-card{margin:0 0 16px}.legal-notice{border-left:3px solid var(--gold);background:#f7f1e5}.creator-credit{margin-top:46px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:35px}.creator-credit .credit-kicker{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:1.8px;font-size:10px;margin-bottom:8px}.creator-credit p{margin:0;color:var(--muted)}.creator-credit img{width:min(360px,44vw);height:auto;object-fit:contain}.legal-actions{display:flex;align-items:center;gap:28px;margin-top:42px}@media(max-width:800px){.legal-grid{grid-template-columns:1fr}.creator-credit{align-items:flex-start;flex-direction:column}.creator-credit img{width:min(360px,100%)}}@media(max-width:600px){.legal-premium{padding:60px 7vw 80px}.legal-premium>h1{font-size:42px}.legal-card{padding:24px}.legal-actions{align-items:flex-start;flex-direction:column}}

/* V15 – IONOS contact form */
.hp-field{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
}
.form-status{
  margin:0 0 22px;
  padding:14px 16px;
  border:1px solid var(--line);
  line-height:1.5;
}
.form-status-success{
  background:#edf4ef;
  border-color:#a9c0ae;
  color:var(--green);
}
.form-status-error{
  background:#f8efec;
  border-color:#cfb4aa;
  color:#6d3328;
}


/* V17 – Footer, trademark & consent settings */
.tm-mark{font-size:.5em;line-height:0;vertical-align:super;margin-left:.08em}
footer .footer-links{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
footer .uc-settings-link{white-space:nowrap}

/* V18 – crisp proportional heraldic watermarks */
.crest-watermark{
  left:-42px;
  top:84px;
  width:300px;
  height:auto;
}
.crest-watermark img{
  display:block;
  width:100%;
  height:auto !important;
  max-height:none;
  object-fit:contain;
  object-position:center;
  filter:none;
}
.about-crest img{
  display:block;
  width:180px;
  height:auto !important;
  max-height:none;
  object-fit:contain;
  filter:none;
  opacity:.50;
}
.statement-crest{
  width:215px;
  height:auto !important;
  max-height:none;
  object-fit:contain;
  object-position:center;
}

@media(max-width:1000px){
  .crest-watermark{
    width:245px;
    left:-55px;
    top:58px;
  }
  .about-crest img{width:165px}
  .statement-crest{width:185px}
}

@media(max-width:600px){
  .crest-watermark{
    width:190px;
    left:-48px;
    top:42px;
    opacity:.045;
  }
  .about-crest{
    min-height:280px;
    padding-top:34px;
  }
  .about-crest img{width:145px}
  .statement-crest{
    width:145px;
    left:-18px;
    top:-8%;
  }
  .hero-copy{
    padding-left:7vw;
    padding-right:7vw;
  }
  .hero-logo-name{
    font-size:clamp(30px,9vw,44px);
    letter-spacing:2.4px;
    white-space:normal;
  }
  .hero-logo-sub{
    font-size:14px;
    letter-spacing:4px;
  }
}

/* Final legal content refinements */
.legal-card ul{margin:14px 0 0 22px;padding:0;color:var(--muted);line-height:1.75}.legal-card li+li{margin-top:5px}.legal-card p+p{margin-top:14px}



/* LAUNCH V11 – clean responsive homepage hero */
.hero{
  min-height:610px;
  height:610px;
  max-height:610px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(480px,.92fr);
  align-items:stretch;
  background:var(--paper);
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero-copy{
  padding:92px 7vw 72px 15vw;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.hero-portrait{
  position:relative;
  overflow:hidden;
  background:var(--paper);
  min-width:0;
}
.hero-portrait .portrait-frame{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.hero-portrait .portrait-frame img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:62% center;
  filter:none;
}
.hero-portrait .portrait-caption{
  position:absolute;
  left:30px;
  bottom:30px;
  z-index:2;
}
@media(min-width:1700px){
  .hero{
    grid-template-columns:minmax(0,1.12fr) minmax(560px,.88fr);
  }
  .hero-portrait .portrait-frame img{object-position:64% center}
}
@media(max-width:1200px){
  .hero{
    grid-template-columns:minmax(0,1fr) minmax(430px,.95fr);
  }
  .hero-copy{padding-left:9vw;padding-right:6vw}
}
@media(max-width:1000px){
  .hero{
    height:auto;
    max-height:none;
    min-height:0;
    grid-template-columns:1fr;
  }
  .hero-copy{
    padding:78px 8vw 58px;
  }
  .hero-portrait{
    height:560px;
  }
  .hero-portrait .portrait-frame{
    position:absolute;
    inset:0;
  }
  .hero-portrait .portrait-frame img{
    object-position:62% center;
  }
}
@media(max-width:600px){
  .hero-copy{padding:58px 7vw 46px}
  .hero-portrait{height:440px}
  .hero-portrait .portrait-frame img{object-position:64% center}
  .hero-portrait .portrait-caption{
    left:16px;
    bottom:16px;
    max-width:calc(100% - 32px);
  }
}
