.site-header{height:98px;background:rgba(255,253,251,.96);display:grid;grid-template-columns:1.25fr 2fr auto;align-items:center;gap:2rem;padding:0 5.5rem;border-bottom:1px solid rgba(236,220,213,.6);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:.85rem}.brand-mark{width:68px;height:60px;object-fit:cover;object-position:50% 7%;border-radius:5px}.brand strong{display:block;font-size:1.05rem;letter-spacing:.08em}.brand small{display:block;font-size:.56rem;letter-spacing:.18em;margin-top:.18rem}.site-header nav{display:flex;gap:2rem;align-items:center;justify-content:center;font-size:.9rem}.site-header nav a{padding:1rem .1rem;position:relative}.site-header nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:.5rem;height:2px;background:var(--rose)}.header-cta{white-space:nowrap}.hero{min-height:490px;display:grid;grid-template-columns:1.03fr 1.25fr;background:linear-gradient(90deg,#fff9f4 0%,#fbf1ea 48%,#fff 100%);overflow:hidden}.hero-copy{padding:3.6rem 2rem 3rem max(5.5rem,calc((100vw - 1440px)/2 + 5.5rem));align-self:center}.hero-copy h1{font-size:clamp(2.8rem,4vw,4.4rem);letter-spacing:-.025em;margin:.55rem 0 1.1rem}.lead{font-size:1.18rem;max-width:560px}.actions{display:flex;gap:1rem;margin:1.4rem 0}.meta{display:flex;gap:1.5rem;color:#4a4145;font-size:.88rem}.hero-photo-wrap{position:relative;min-width:0;background:#efe2da}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 34%}.needs{background:#fffdfb}.card-grid.six{display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem;margin-top:1.6rem}.need-card{border:1px solid var(--line);border-radius:9px;padding:1.25rem 1rem 1rem;min-height:165px;text-align:center;background:rgba(255,255,255,.72);position:relative}.need-card .icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--rose-soft);color:#c94d76;font-size:1.25rem;margin-bottom:.55rem}.need-card h3{font-size:1.05rem;color:#28202a;line-height:1.25}.need-card p{font-size:.78rem;color:var(--muted);margin-top:.55rem}.need-card a{position:absolute;right:1rem;bottom:.7rem;color:#bc4269;font-size:1.25rem}.work{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:2.2rem;align-items:start;border-top:1px solid #f3e8e3}.work-intro p{font-size:.87rem;color:#5f565b;margin-top:1rem}.work-item{display:grid;grid-template-columns:48px 1fr;gap:.8rem}.circle{width:46px;height:46px;border-radius:50%;background:var(--rose-soft);display:grid;place-items:center;color:#c54872;font-size:1.35rem}.circle.violet{background:var(--violet-soft);color:#8058b0}.work-item h3{font-size:1.08rem;color:#2e2730;line-height:1.3;margin-bottom:.55rem}.work-item p{font-size:.78rem;color:#5f565b}.emdr-band{max-width:1320px;margin:0 auto 3.5rem;border-radius:10px;background:linear-gradient(90deg,#f4eefa,#f7eff6,#f4edf9);display:grid;grid-template-columns:90px 1.15fr 2fr;gap:1.5rem;align-items:center;padding:1.3rem 2rem}.emdr-icon{width:62px;height:62px;border-radius:50%;background:#b298d5;color:#fff;display:grid;place-items:center;font-size:2rem}.emdr-band h2{font-size:2.8rem}.emdr-tagline{font-family:var(--serif);font-size:1.1rem}.emdr-copy{border-left:1px solid #cdbdd8;padding-left:2rem;font-size:.82rem}.contact-preview{background:linear-gradient(135deg,#fff5ef,#f5ecf7);border-radius:16px;margin-bottom:3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.contact-preview h2{font-size:2.4rem;margin:.4rem 0 1rem}.contact-preview p{max-width:760px;color:var(--muted)}footer{padding:2rem 5.5rem;background:#2b1e27;color:#f5edf1;display:flex;justify-content:space-between;gap:1rem;font-size:.8rem}
@media(max-width:1180px){.site-header{grid-template-columns:1fr auto;padding:0 1.5rem}.site-header nav{display:none}.hero-copy{padding-left:2rem}.card-grid.six{grid-template-columns:repeat(3,1fr)}.work{grid-template-columns:repeat(2,1fr)}.work-intro{grid-column:1/-1}.emdr-band{margin-left:1.25rem;margin-right:1.25rem}}
@media(max-width:720px){.site-header{height:80px}.brand-mark{width:54px;height:48px}.brand strong{font-size:.88rem}.brand small{font-size:.48rem}.header-cta{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:2.5rem 1.25rem}.hero-copy h1{font-size:2.65rem}.hero-photo-wrap{height:420px;order:-1}.actions{flex-direction:column}.meta{flex-direction:column;gap:.4rem}.card-grid.six{grid-template-columns:1fr}.work{grid-template-columns:1fr}.emdr-band{grid-template-columns:68px 1fr;padding:1.2rem}.emdr-copy{grid-column:1/-1;border-left:0;border-top:1px solid #cdbdd8;padding:1rem 0 0}.contact-preview{display:block}.contact-preview .btn{margin-top:1rem}footer{padding:2rem 1.25rem;flex-direction:column}}

/* Production UX and responsive hardening */
body{overflow-x:hidden}.site-header .btn{width:auto}.nav-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:10px;background:#fffdfb;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;cursor:pointer}.nav-toggle span{display:block;width:21px;height:2px;border-radius:999px;background:var(--primary);transition:transform .2s ease,opacity .2s ease}.mobile-nav-cta{display:none}.site-header.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-header.nav-open .nav-toggle span:nth-child(2){opacity:0}.site-header.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero-photo{object-position:center 31%}.need-card,.work-item,.topic-grid article{scroll-margin-top:118px}.need-card a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%}.need-card a:hover{background:var(--rose-soft)}
@media(max-width:1180px){
  .site-header{grid-template-columns:minmax(0,1fr) auto auto;gap:.9rem;padding:0 1.35rem}
  .nav-toggle{display:flex}
  .site-header .primary-nav{display:none;position:absolute;top:calc(100% - 1px);left:0;right:0;background:rgba(255,253,251,.99);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 18px 34px rgba(70,34,52,.12);padding:1rem 1.35rem 1.25rem;flex-direction:column;align-items:stretch;gap:.15rem;max-height:calc(100vh - 90px);overflow:auto}
  .site-header.nav-open .primary-nav{display:flex}
  .site-header .primary-nav a{padding:.85rem .35rem;font-size:1rem}
  .site-header .primary-nav a.active:after{left:.35rem;right:auto;width:32px;bottom:.38rem}
  .mobile-nav-cta{display:flex!important;margin-top:.6rem;background:linear-gradient(135deg,var(--primary),var(--primary-700));color:#fff!important;border-radius:8px;justify-content:center;font-weight:700;text-align:center;padding:.9rem 1rem!important}
  body.nav-open{overflow:hidden}
  .card-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:2.7rem 2rem 2.4rem;order:1}
  .hero-photo-wrap{order:2;height:auto;aspect-ratio:4/3;max-height:520px}
  .hero-photo{object-position:center 24%}
  .hero-break{display:none}
  .card-grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem}
  .work-intro{grid-column:1/-1}
  .emdr-band{grid-template-columns:72px 1fr;margin-bottom:2.5rem}
  .emdr-copy{grid-column:1/-1;border-left:0;border-top:1px solid #cdbdd8;padding:1rem 0 0}
}
@media(max-width:820px){
  .header-cta{display:none}
  .site-header{grid-template-columns:minmax(0,1fr) auto}
}
@media(max-width:620px){
  .site-header{height:72px;padding:0 .9rem;gap:.55rem}
  .brand{gap:.55rem;min-width:0}.brand-mark{width:48px;height:44px;flex:0 0 auto}.brand span{min-width:0}.brand strong{font-size:.78rem;white-space:nowrap}.brand small{font-size:.42rem;letter-spacing:.12em;white-space:nowrap}
  .nav-toggle{width:44px;height:44px}
  .site-header .primary-nav{padding:.85rem 1rem 1.1rem;max-height:calc(100vh - 72px)}
  .hero-copy{padding:2.15rem 1.15rem 2rem}.hero-copy h1{font-size:clamp(2.15rem,11vw,2.75rem);line-height:1.02;margin:.45rem 0 1rem}.hero-copy .lead{font-size:1.04rem}.actions{gap:.7rem}.meta{font-size:.82rem}.hero-photo-wrap{aspect-ratio:1.14/1;max-height:none}
  .card-grid.six{grid-template-columns:1fr;gap:.85rem}.need-card{min-height:150px;padding:1.15rem 1rem}.need-card h3{font-size:1.08rem}.need-card p{font-size:.82rem}
  .work{grid-template-columns:1fr;gap:1.5rem}.work-item{grid-template-columns:44px 1fr}.circle{width:42px;height:42px}
  .emdr-band{margin-left:1rem;margin-right:1rem;padding:1.15rem;gap:1rem}.emdr-band h2{font-size:2.25rem}
  .contact-preview{margin-left:1rem;margin-right:1rem;border-radius:14px}.contact-preview h2{font-size:2rem}
}
@media(max-width:430px){.brand small{display:none}.brand strong{font-size:.85rem}.hero-copy{padding-top:1.9rem}.meta{gap:.25rem}.emdr-band{grid-template-columns:58px 1fr}.emdr-icon{width:52px;height:52px;font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.nav-toggle span{transition:none}}

/* Portrait artifact fix + deterministic responsive image layout */
.hero-photo-wrap{overflow:hidden;background:#fff9f5}
.hero-photo{display:block;object-position:center 31%}
@media(max-width:900px){
  .hero-photo-wrap{height:auto;aspect-ratio:auto;max-height:none;background:#fff9f5}
  .hero-photo{width:100%;height:auto;object-fit:contain;object-position:center top}
}
@media(max-width:620px){
  .hero-photo-wrap{aspect-ratio:auto}
  .hero-photo{height:auto;object-fit:contain;object-position:center top}
}
.hero-title span{display:block}
@media(max-width:900px){.hero-title span{display:inline}}


/* No-crop portrait contract. The source is a composed portrait and must be shown intact. */
.hero{align-items:stretch}
.hero-photo-wrap{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff9f5;min-height:0}
.hero-photo{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center center;aspect-ratio:auto}
@media(min-width:901px){
  .hero-photo-wrap{align-self:stretch;aspect-ratio:1169/1199}
  .hero-photo{width:100%;height:100%;object-fit:contain}
}
@media(max-width:900px){.hero-photo-wrap{aspect-ratio:1169/1199}.hero-photo{width:100%;height:100%;object-fit:contain}}

/* R1.19 portrait safe-frame contract.
   The asset includes a protected margin around the complete circular artwork.
   Layout must never crop the artwork at any breakpoint. */
.hero-photo-wrap{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  min-width:0!important;
  min-height:0!important;
  padding:clamp(10px,1.4vw,24px)!important;
  background:#fff9f5!important;
}
.hero-photo{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  object-position:center center!important;
}
@media(min-width:901px){
  .hero-photo-wrap{align-self:stretch!important;aspect-ratio:auto!important}
  .hero-photo{width:min(100%,760px)!important;height:auto!important}
}
@media(max-width:900px){
  .hero-photo-wrap{order:2!important;aspect-ratio:auto!important;padding:14px!important}
  .hero-photo{width:min(100%,680px)!important;height:auto!important}
}
@media(max-width:620px){
  .hero-photo-wrap{padding:10px!important}
  .hero-photo{width:100%!important;height:auto!important}
}
/* Match the R1.19 photographic canvas so the safe area reads as intentional whitespace. */
.hero-photo-wrap{background:#fcfcfc!important}
