/* Approved logo and a unified blue-and-sage refresh. */
:root { --ink:#103e59; --deep:#10364b; --sage:#627d64; --sage-light:#eaf0e7; --paper:#fafbf8; --line:#d9e2d6; --muted:#52656c; }
.site-header { background:#fff; padding-block:16px; gap:24px; box-shadow:0 3px 24px #103e5905; }
.brand { flex:0 1 320px; min-width:0; }
.approved-logo { display:block; width:320px; height:auto; object-fit:contain; }
nav { gap:24px; }
nav a { font-size:13px; }
.simple-opening { position:relative; padding-block:clamp(46px,6vw,88px) 48px; background:radial-gradient(ellipse at 100% 0%,#dce9de 0%,transparent 55%),linear-gradient(120deg,#f7f9f5,#edf3f2); border-bottom:1px solid var(--line); }
.simple-opening h1 { max-width:980px; font-size:clamp(37px,5vw,70px); letter-spacing:-.045em; }
.hero-second-line { color:var(--sage); margin-top:.12em; }
.simple-opening .eyebrow { letter-spacing:.15em; }
.simple-opening .page-intro { margin-top:25px; margin-bottom:8px; color:var(--muted); }
.opening-cta.whatsapp-link { margin-top:22px; box-shadow:none; border-radius:9px; }
.home-emotion-cta { margin-top:22px; min-height:56px; border-color:#8c9e8d; border-radius:9px; }
.service-choices { margin-top:44px; max-width:none; gap:22px; }
.service-choices .service-choice { min-height:164px; padding:28px 58px 28px 30px; border-radius:14px; box-shadow:0 7px 22px #103e5907; }
.service-choice::after { content:'↗'; position:absolute; right:25px; top:26px; font-size:24px; font-weight:400; }
.service-choices h2 { font-size:27px; }
.service-choices p { font-size:16px; max-width:440px; }
.content-hero { background:linear-gradient(115deg,#eef4eb,#e8f1f2); border-bottom:1px solid var(--line); }
.content-section.cream { background:#f3f0e8; }
.content-section.methods { background:#e9f0e6; }
.step { border-color:var(--line); box-shadow:0 5px 22px #103e5905; }
footer { background:#f1f5ee; padding-block:30px; }
@media(min-width:1201px) { .site-header { min-height:142px; } }
@media(max-width:1200px) { .brand { flex-basis:300px; } .approved-logo { width:300px; } }
@media(max-width:600px) {
 .site-header { grid-template-columns:minmax(0,1fr) 88px; padding:12px 16px; min-height:116px; column-gap:16px; }
 .approved-logo { width:100%; max-width:300px; }
 .brand { width:100%; }
 .simple-opening { padding-block:38px 30px; }
 .simple-opening h1 { font-size:clamp(34px,8.6vw,48px); }
 .simple-opening .page-intro { font-size:19px; margin-top:22px; }
 .home-emotion-cta { display:flex; width:100%; margin:14px 0 0; }
 .service-choices { margin-top:32px; gap:14px; }
 .service-choices .service-choice { min-height:145px; padding:24px 48px 24px 23px; }
 .service-choices h2 { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) { .service-choice { transition:none; } }

/* Keep every page link visible on tablets and phones. */
@media (max-width:1200px) {
 .site-header { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; }
 .header-identity { display:contents; }
 .site-header .brand { flex:0 1 300px; order:0; }
 .site-header .language-switch { order:1; margin-left:auto; }
 .site-header .menu { display:none; }
 .site-header #nav, html:not(.js-enabled) .site-header #nav {
  display:flex; position:static; order:2; flex:1 0 100%; flex-wrap:wrap;
  gap:4px 24px; padding:10px 0 0; border:0; border-top:1px solid var(--line);
  box-shadow:none; background:transparent;
 }
 .site-header #nav a { min-height:44px; padding:10px 0; border:0; font-size:14px; }
}
@media (max-width:600px) {
 .site-header { padding:12px 16px; gap:10px 12px; }
 .site-header .brand { flex:1 1 180px; max-width:300px; }
 .site-header .language-switch { flex:0 0 auto; }
 .site-header #nav, html:not(.js-enabled) .site-header #nav { gap:2px 20px; }
 .site-header #nav a { font-size:13px; }
}

/* About copy fills the space after portrait removal. */
body[data-page="about-contact"] .about-simple { display:block; }
body[data-page="about-contact"] .about-simple > div { max-width:760px; }
