:root{--navy:#143744;--blue:#214f60;--ink:#233b44;--muted:#607078;--copper:#aa603b;--line:#dce3e4;--paper:#f7f9f9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit}header{max-width:1280px;margin:auto;padding:24px 46px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:15px;align-items:center;text-decoration:none;font-size:21px;font-weight:700;line-height:1.3}.brand small{display:block;font-size:10px;letter-spacing:1.5px;margin-top:6px;color:var(--muted)}.mark{font-family:Georgia,serif;font-size:45px;letter-spacing:-4px;font-weight:400}.mark span{color:var(--copper)}nav{display:flex;align-items:center;gap:28px;font-size:14px}nav a{text-decoration:none}nav a:hover,.text-link:hover{color:var(--copper)}.button{display:inline-block;background:var(--navy);color:white;padding:13px 27px;border:0;border-radius:3px;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;line-height:1.5}.button:hover{background:var(--blue)}.small{padding:10px 23px}.hero{display:grid;grid-template-columns:1.06fr 1fr;max-width:1280px;margin:auto;padding:20px 46px 55px;gap:50px;align-items:center}.hero-copy{padding:22px 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--copper);margin:0 0 20px}h1,h2{font-family:Georgia,'Times New Roman',serif;color:var(--navy);font-weight:400;line-height:1.12;letter-spacing:-1.5px}h1{font-size:66px;margin:0 0 25px}h2{font-size:42px;margin:0 0 21px}h3{font-size:20px;line-height:1.35;margin:0 0 10px;font-weight:600}p{margin:0 0 18px}.hero-copy>p:not(.eyebrow){max-width:480px}.lead{font-size:21px;line-height:1.5}.actions{display:flex;align-items:center;gap:25px;margin:28px 0 18px}.text-link{font-size:14px;text-underline-offset:6px}.consult{font-size:13px;color:var(--muted)}.hero-image{height:450px;position:relative;background:#dde5e5;overflow:hidden;border-radius:3px}.hero-image img{height:100%;width:100%;object-fit:cover}.hero-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(13,40,46,.75))}.image-caption{position:absolute;bottom:28px;left:30px;color:#fff;z-index:1;font-size:11px;letter-spacing:1.7px}.image-caption strong{display:block;font-family:Georgia,serif;font-size:25px;font-weight:400;letter-spacing:0;margin-top:5px}.gateways{background:var(--paper);padding:62px max(46px,calc((100vw - 1188px)/2)) 70px;border-top:1px solid var(--line)}.section-intro{margin-bottom:35px}.section-intro .eyebrow{margin-bottom:12px}.section-intro h2{font-size:37px}.section-intro p:last-child{color:var(--muted)}.gateway-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gateway{background:white;padding:30px;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:3px}.audience{border-top-color:var(--copper)}.gateway-title{display:flex;gap:20px;align-items:center;margin-bottom:20px}.number{font-family:Georgia,serif;font-size:36px;color:#97a8ae}.gateway-title .eyebrow{margin:0 0 5px;font-size:10px}.gateway h3{font-size:21px}.category{display:block;width:100%;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none}.category:last-child{border-bottom:0}.category strong{font-size:16px;display:block;font-weight:600}.category small{font-size:14px;color:var(--muted);display:block;margin-top:3px}.category:hover strong{color:var(--copper)}.category:focus-visible,.button:focus-visible{outline:3px solid #c1815a;outline-offset:4px}.detail{max-width:1188px;margin:60px auto;padding:35px;display:grid;grid-template-columns:1.6fr 1fr;gap:70px;border:1px solid var(--line)}[hidden]{display:none!important}.detail ul{padding-left:20px}.detail aside{background:var(--paper);padding:28px}.detail .legal-note{font-size:14px;color:var(--muted)}.approach{max-width:1188px;margin:75px auto;display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.approach>div>p:last-child{max-width:390px;color:var(--muted)}.steps article{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:20px 0}.steps article:first-child{padding-top:0}.steps article>span{font-family:Georgia,serif;color:var(--copper);font-size:25px}.steps p{color:var(--muted);font-size:15px}.professional{background:var(--navy);color:#d7e1e3;padding:52px max(46px,calc((100vw - 1188px)/2));display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.professional .eyebrow{color:#dcac8f;grid-column:1/-1}.professional h2{font-size:34px;color:white}.professional>p:last-child{font-size:16px}.intake{max-width:1188px;margin:75px auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}.intake-note{border-left:2px solid var(--copper);padding-left:20px;margin-top:35px}.intake-note h3{font-size:16px}.intake-note p,.draft-note{font-size:14px;color:var(--muted)}.draft-note{margin-top:25px}form{background:var(--paper);padding:30px;border:1px solid var(--line);border-radius:3px}label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}input,select,textarea{display:block;width:100%;font:inherit;font-weight:400;padding:11px;border:1px solid #bdcbd0;border-radius:2px;background:white;margin-top:7px;color:var(--ink)}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-note{font-size:12px;color:var(--muted)}#inquiry-preview{margin-top:20px;padding:20px;background:white;border-left:3px solid var(--copper);white-space:pre-wrap;font-size:14px}.faq{max-width:1188px;margin:0 auto 70px}.faq h2{font-size:32px}.faq details{border-bottom:1px solid var(--line);padding:17px 0}.faq summary{cursor:pointer;font-weight:600}.faq details p{max-width:750px;margin-top:16px;color:var(--muted)}footer{background:var(--paper);padding:35px max(46px,calc((100vw - 1188px)/2));display:flex;flex-wrap:wrap;align-items:center;gap:18px 35px;border-top:1px solid var(--line)}footer .brand{font-size:18px}footer .mark{font-size:32px}footer p{font-size:14px;color:var(--muted);margin:0}footer>div{margin-left:auto;display:flex;gap:25px;font-size:14px}footer small{width:100%;font-size:12px;color:var(--muted)}@media(max-width:1000px){header,.hero{padding-left:25px;padding-right:25px}.hero{gap:25px}h1{font-size:52px}.approach,.intake,.faq,.detail{margin-left:25px;margin-right:25px}.approach,.intake{gap:40px}.gateways,.professional{padding-left:25px;padding-right:25px}}@media(max-width:700px){header{flex-wrap:wrap;padding:18px 20px}nav{width:100%;justify-content:space-between;gap:12px;font-size:13px}.brand small{font-size:9px}.hero{grid-template-columns:1fr;padding:12px 20px 35px;gap:15px}h1{font-size:50px}.hero-copy{padding:10px 0}.hero-image{height:280px}.lead{font-size:19px}.gateway-grid,.approach,.intake,.professional,.detail{grid-template-columns:1fr}.gateways{padding:40px 20px}.section-intro h2,h2{font-size:33px}.gateway{padding:22px}.approach,.intake{margin:45px 20px;gap:25px}.professional{padding:35px 20px;gap:5px}.detail{margin:30px 20px;padding:25px;gap:20px}.form-row{grid-template-columns:1fr;gap:0}form{padding:22px}.faq{margin:0 20px 40px}.actions{gap:20px}footer{padding:30px 20px;gap:15px}footer>div{margin-left:0;width:100%}}
:root .audience-group{margin-top:24px;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:3px}.audience-group h4{font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:400;line-height:1.25;color:var(--navy);margin:0 0 8px}.group-description{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 10px}.audience-path{padding:13px 0}.audience-path strong{font-size:15px}.audience-path small{font-size:13px}.audience-group:first-child{margin-top:5px}
:root{--navy:#103d47;--blue:#1a5966;--ink:#25434c;--muted:#5b737b;--copper:#99502d;--paper:#f2f6f7;--line:#d5e1e4}
body{background:#fff;font-family:'Segoe UI',Arial,sans-serif;line-height:1.65}
header{padding-top:22px;padding-bottom:22px;max-width:1320px}
.brand{font-size:22px;letter-spacing:-.5px}.brand small{font-size:11px;letter-spacing:1.2px}.mark{font-size:48px}
nav{font-size:15px;gap:32px}.button{border-radius:6px;padding:14px 29px;box-shadow:0 4px 12px #103d4715;transition:background .18s,box-shadow .18s}.button:hover{box-shadow:0 7px 18px #103d4725}.small{padding:11px 24px}
.hero{max-width:1228px;margin:12px auto 64px;padding:0;gap:0;background:var(--navy);border-radius:14px;overflow:hidden;box-shadow:0 15px 45px #103d4712;grid-template-columns:1.1fr 1fr;align-items:stretch}
.hero-copy{padding:58px 52px;color:#d8e6e8}.hero-copy .eyebrow{color:#efbc93;font-size:12px;letter-spacing:1.7px}.hero h1{color:#fff;font-size:68px;letter-spacing:-2.3px;line-height:1.05;margin-bottom:28px}.hero .lead{font-size:22px;color:#f0f5f6;line-height:1.5}.hero-copy>p:not(.lead):not(.eyebrow):not(.consult){font-size:15px;line-height:1.7}.hero .button{background:#edbd98;color:#183d45}.hero .button:hover{background:#f6cfb2}.hero .text-link{color:#fff;font-size:15px}.hero .consult{color:#c5d8dc;font-size:14px;margin-bottom:0}.hero .actions{margin-top:30px;gap:24px}.hero-image{height:auto;min-height:520px;border-radius:0}.hero-image img{position:absolute;inset:0;object-position:54% center}.hero-image:after{inset:0;background:linear-gradient(90deg,rgba(16,61,71,.18),transparent 35%),linear-gradient(0deg,rgba(9,37,44,.8),transparent 55%)}.image-caption{bottom:38px;left:35px;font-size:12px;letter-spacing:1.6px}.image-caption strong{font-size:28px;max-width:340px;line-height:1.3}
.gateways{background:linear-gradient(180deg,#f2f6f7,#f8fafb);padding-top:60px;padding-bottom:75px;border-top:0}.section-intro{text-align:center;margin-bottom:40px}.section-intro h2{font-size:42px;letter-spacing:-1.4px}.section-intro .eyebrow{font-size:12px}.gateway-grid{gap:30px}.gateway{padding:32px 34px;border:1px solid #d9e4e7;border-top:4px solid var(--blue);border-radius:10px;box-shadow:0 8px 25px #183f4b07}.audience{border-top-color:#b4754b}.gateway-title{margin-bottom:25px;gap:17px}.number{font-size:30px;background:#edf3f5;border-radius:50%;width:54px;height:54px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--blue)}.audience .number{color:#99502d;background:#f8efe9}.gateway-title .eyebrow{font-size:12px;letter-spacing:1.4px}.gateway-title h3{font-size:21px;letter-spacing:-.5px}.category{padding:17px 8px;transition:background .18s,color .18s;border-radius:4px}.category:hover{background:#f1f6f7}.category strong{font-size:17px;line-height:1.4}.category small{font-size:14px;line-height:1.5;margin-top:5px}
:root .audience-group{padding:24px;margin-top:20px;background:#edf4f6;border:0;border-radius:8px;border-left:3px solid #286676}.audience-group h4{font-size:29px;letter-spacing:-.6px}.group-description{font-size:15px;margin-bottom:14px}.audience-group+.audience-group{background:#faf2ec;border-left-color:#b4754b}.audience-path{padding:16px 0;border-color:#cbdde1}.audience-path:hover{background:transparent}.audience-path strong{font-size:16px}.audience-path small{font-size:14px}.audience-group+.audience-group .audience-path{border-color:#e4d4c9}
.approach{margin-top:90px;margin-bottom:90px;gap:100px}.approach h2{font-size:46px}.steps article{padding:25px 0;gap:22px}.steps article>span{font-size:20px;border:1px solid #d3e0e3;border-radius:50%;width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.steps h3{font-size:22px;letter-spacing:-.4px}.steps p{font-size:16px}.professional{padding-top:65px;padding-bottom:60px;background:linear-gradient(120deg,#103d47,#205665);gap:5px 85px}.professional h2{font-size:39px;line-height:1.2}.professional p:last-child{font-size:17px;line-height:1.8}.professional .eyebrow{font-size:12px}
.intake{margin-top:90px;margin-bottom:85px}.intake h2{font-size:48px}.intake-note{background:#f7f3ef;border-radius:0 7px 7px 0;padding:22px;border-color:#b4754b}.intake-note p{margin-bottom:0;font-size:15px}.intake-note h3{font-size:18px}.draft-note{font-size:14px}form{padding:35px;border-radius:12px;background:#f1f6f7;box-shadow:0 10px 30px #103d4708}label{font-size:15px}input,select,textarea{border-radius:5px;padding:12px;font-size:16px}input:focus,select:focus,textarea:focus{outline:2px solid #397485;outline-offset:2px}.form-note{font-size:14px}.faq h2{font-size:36px}.faq details{padding:20px 0}.faq summary{font-size:17px}footer{padding-top:38px;padding-bottom:38px}footer small{font-size:13px}
@media(max-width:1100px){.hero{margin:12px 25px 50px}.hero-copy{padding:42px 35px}.hero h1{font-size:58px}.hero-image{min-height:500px}.gateway{padding:25px}.gateway-title h3{font-size:19px}.number{width:45px;height:45px;font-size:25px}}
@media(max-width:700px){header{padding:18px 20px}nav{gap:12px;font-size:14px}.brand small{font-size:10px}.hero{margin:8px 16px 35px;grid-template-columns:1fr;border-radius:10px}.hero-copy{padding:35px 27px}.hero h1{font-size:51px;letter-spacing:-1.5px}.hero .lead{font-size:20px}.hero-image{min-height:280px;height:280px}.image-caption{left:27px;bottom:25px}.image-caption strong{font-size:25px}.hero .actions{gap:20px;flex-wrap:wrap}.hero .button{padding:13px 24px}.gateways{padding:40px 20px 45px}.section-intro{text-align:left}.section-intro h2{font-size:35px}.gateway{padding:23px}.gateway-title{gap:13px}.gateway-title h3{font-size:20px}.category{padding:17px 0}.audience-group h4{font-size:27px}:root .audience-group{padding:22px}.approach,.intake{margin:55px 20px;gap:30px}.approach h2{font-size:39px}.professional{padding:40px 22px;gap:10px}.professional h2{font-size:34px}.professional p:last-child{font-size:16px}.intake h2{font-size:40px}form{padding:24px}.faq h2{font-size:32px}.hero-copy .eyebrow{font-size:11px;letter-spacing:1.2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* More visible navigation and a brighter, coordinated palette. */
:root{--blue:#14677d;--copper:#a64f26}
nav>a:not(.button){color:#12647c;font-weight:600;text-decoration:underline;text-decoration-color:#8ab8c5;text-underline-offset:6px;text-decoration-thickness:1px}
nav>a:not(.button):hover{color:#a64f26;text-decoration-color:currentColor}
.gateway{border-top-color:#1683a0}.audience{border-top-color:#d08048}
.category{padding:17px 12px;margin:3px 0;background:#f3f9fc;border-bottom-color:#d4e5ec;border-left:3px solid transparent}
.category strong{color:#08627c;text-decoration:underline;text-decoration-color:#82b4c5;text-underline-offset:4px;text-decoration-thickness:1px}
.category:hover,.category:focus-visible{background:#e1f1f7;border-left-color:#1683a0}.category:hover strong{color:#09495d;text-decoration-color:currentColor}
.category small{color:#506b76}
:root .audience-group{background:#e8f4fa;border-left-color:#1683a0}.audience-group+.audience-group{background:#fff0e3;border-left-color:#cf7940}
.audience-path{padding:15px 12px;background:#ffffffb8;border:1px solid #c5dfe9;border-left:3px solid #77b6cb;margin-top:9px;border-radius:5px}
.audience-path:hover,.audience-path:focus-visible{background:#d8eef7;border-left-color:#1683a0}
.audience-group+.audience-group .audience-path{border-color:#edc9ae;border-left:3px solid #dca070;background:#ffffffc7}
.audience-group+.audience-group .audience-path strong{color:#97451f;text-decoration-color:#d5a081}
.audience-group+.audience-group .audience-path:hover,.audience-group+.audience-group .audience-path:focus-visible{background:#ffe0c9;border-left-color:#b65d29}
.text-link,.detail aside a,footer>div a{font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px;color:#0a657e}
.hero .text-link{color:#f8c69e;text-decoration-color:#f8c69e}.hero .text-link:hover{color:#fff}
.gateways{background:linear-gradient(135deg,#eaf5fa,#f7fafb 55%,#fff4e9)}
.hero{background:linear-gradient(135deg,#103d47,#14677b)}
.professional{background:linear-gradient(120deg,#104655,#14748a)}
.steps article>span{background:#e6f3f8;border-color:#b9dce8;color:#11677f}.intake-note{background:#fff0e2;border-color:#d08048}
form{background:#edf6fb;border-color:#cbdfe9}.button{background:#12647a}.button:hover{background:#0b4d60}.hero .button{background:#ffc28f}.hero .button:hover{background:#ffd4b1}
.faq summary::marker{color:#1583a0}.faq summary:hover{color:#08627c}
@media(max-width:700px){.category{padding:17px 10px}.audience-path{padding:14px 10px}nav>a:not(.button){text-underline-offset:4px}}
/* Preserve the selected street photo's wide composition. */
.hero{grid-template-columns:1fr}.hero-copy{padding:44px 52px;display:grid;grid-template-columns:1fr 1fr;column-gap:60px;align-items:start}.hero-copy .eyebrow,.hero-copy h1{grid-column:1;grid-row:auto}.hero-copy .eyebrow{margin-bottom:18px}.hero-copy h1{grid-row:2/5;margin-bottom:0}.hero-copy .lead{grid-column:2;grid-row:1/3;margin-bottom:16px}.hero-copy>p:not(.lead):not(.eyebrow):not(.consult){grid-column:2;grid-row:3}.hero-copy .actions{grid-column:2;grid-row:4;margin:5px 0 16px}.hero-copy .consult{grid-column:2;grid-row:5}.hero-image{height:auto;min-height:0;aspect-ratio:5472/3080}.hero-image img{object-fit:contain;object-position:center}.hero-image:after{background:linear-gradient(0deg,rgba(9,37,44,.65),transparent 35%)}.image-caption{bottom:30px;left:42px}.image-caption strong{max-width:none}.hero-image{background:#10191d}
@media(max-width:1100px){.hero-copy{padding:35px;column-gap:35px}.hero h1{font-size:54px}}
@media(max-width:700px){.hero-copy{display:block;padding:30px 27px}.hero-copy h1{margin-bottom:24px;font-size:48px}.hero-copy .actions{margin:25px 0 16px}.hero-image{height:auto;min-height:0;aspect-ratio:5472/3080}.image-caption{left:18px;bottom:15px;font-size:10px}.image-caption strong{font-size:18px}.hero-image:after{background:linear-gradient(0deg,rgba(9,37,44,.7),transparent 45%)}}
.detail{padding:0;border:0;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);align-items:start;gap:65px;margin-top:40px}.detail h2{font-size:46px;margin-bottom:25px}.detail .destination-intro{font-size:20px;line-height:1.7}.back-link{display:inline-block;color:#0a657e;text-underline-offset:4px;font-size:15px;margin-bottom:28px}.detail .eyebrow{margin-bottom:15px}.content-section{margin:32px 0}.content-section h3,.detail article>h3{font-size:23px}.content-section li{padding:5px 0}.scope-box{background:#edf5f9;border-left:3px solid #1683a0;padding:25px;border-radius:0 7px 7px 0;margin:28px 0}.scope-box p{margin-bottom:0}.detail aside{border-radius:10px;background:#fff0e3;padding:30px;position:sticky;top:25px}.detail aside h3{font-family:Georgia,serif;font-size:29px;font-weight:400}.detail aside .button{color:white;text-decoration:none}.aside-note{font-size:14px;margin-top:20px}.detail aside .back-link{margin-bottom:0}.related-services{display:grid;gap:9px;margin:20px 0 35px}.fee-note{font-size:15px;color:var(--muted)}
@media(max-width:700px){.detail{grid-template-columns:1fr;gap:30px;margin:30px 20px}.detail h2{font-size:35px}.detail .destination-intro{font-size:18px}.detail aside{position:static}.scope-box{padding:22px}}
.contact-details{margin:25px 0;padding:22px;background:#e8f4fa;border-radius:8px;border-left:3px solid #1683a0}.contact-details h3{font-size:20px;margin-bottom:6px}.contact-details a{color:#08627c;font-size:18px;font-weight:600;text-underline-offset:4px}.contact-details p{font-size:14px;color:var(--muted);margin:13px 0 0}
.birth-shortcut{display:block;padding:10px 15px 15px 27px;color:#08627c;font-weight:600;font-size:15px;background:#e8f4fa;text-underline-offset:4px;border-radius:0 0 5px 5px;margin-top:-3px}.birth-shortcut:hover{background:#d8eef7}
.messaging-codes{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:24px}.qr-card{background:white;padding:14px;border-radius:8px;border-top:3px solid #1683a0;text-align:center;min-width:0}.qr-card.whatsapp{border-color:#168958}.qr-card h4{margin:0 0 10px;font-size:18px;color:var(--navy)}.qr-card img{display:block;width:100%;height:auto;max-width:220px;margin:auto}.qr-card>a{display:block}.contact-details .qr-card p{font-size:14px;margin-top:9px}.qr-card a:focus-visible{outline:3px solid #1683a0;outline-offset:3px}
.copy-inquiry{margin:15px 0 15px 15px;padding:12px;border:1px solid #12647a;border-radius:5px;background:white;color:#12647a;font:inherit;cursor:pointer}.contact-details .messaging-link{font-size:15px;display:block;margin-top:12px}.privacy-link{font-size:14px;color:#08627c;text-underline-offset:4px}.detail h1{font-size:46px;line-height:1.15}.privacy-page{max-width:900px;margin:50px auto;padding:0 25px}.privacy-page h1{font-size:46px}.privacy-page h2{font-family:inherit;font-size:23px;letter-spacing:0;margin-top:30px}.privacy-page p{line-height:1.8}@media(max-width:700px){.detail h1{font-size:35px}.copy-inquiry{margin-left:0;display:block}.privacy-page h1{font-size:35px}}
.regional-photo{margin:30px 0 35px}.regional-photo img{display:block;width:100%;height:auto;border-radius:8px}.regional-photo figcaption{font-size:14px;line-height:1.6;color:var(--muted);margin-top:10px}
footer small.photo-credit,.regional-photo .photo-credit{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:#687a80;line-height:1.4}.regional-photo .photo-credit{margin-top:5px}footer small.photo-credit{margin-top:-8px}

.phone-fields{min-width:0;margin:0 0 18px;padding:0;border:0}.phone-fields legend{font-size:14px;font-weight:600;margin-bottom:8px}.phone-fields label{margin-bottom:8px}.phone-fields .form-note{margin-bottom:0}.phone-fields select{max-width:100%}

.document-photo img{width:auto;max-width:100%;max-height:560px;object-fit:contain;margin:0 auto;border:1px solid var(--line)}.document-photo .photo-credit{text-align:center}

.brand-logo{display:block;width:310px;height:auto;max-width:100%}footer .brand-logo{width:230px}.hero-photo-credit{position:absolute;right:14px;bottom:10px;color:#fff;font-size:11px;line-height:1.4;z-index:2}.regional-photo .photo-credit a{color:inherit;text-underline-offset:2px}@media(max-width:700px){header .brand-logo{width:235px}.hero-photo-credit{font-size:10px;right:10px;bottom:6px}.image-caption{bottom:30px}}

.about-cal{max-width:1188px;margin:64px auto 0;padding:32px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:0.65fr 1.35fr;gap:64px;align-items:start}.about-cal h2{font-size:34px;margin:0}.about-cal p{margin:0;color:var(--muted)}@media(max-width:1280px){.about-cal{margin-left:46px;margin-right:46px}}@media(max-width:700px){.about-cal{margin:38px 20px 0;padding:24px 0;grid-template-columns:1fr;gap:18px}.about-cal h2{font-size:30px}}

.sensitive-warning{margin-top:14px;margin-bottom:12px}

.menu-toggle{display:none}nav a{white-space:nowrap}nav{gap:22px}
@media(max-width:1100px){header{flex-wrap:wrap;gap:12px;padding:18px 20px}header .brand-logo{width:235px}header .brand{flex:1;min-width:0}header.menu-ready .menu-toggle{display:block;background:#fff;border:1px solid #b31942;border-radius:6px;color:#0a3161;font:600 15px Arial;padding:12px 14px;cursor:pointer}header nav{width:100%;flex-wrap:wrap;justify-content:flex-start;gap:6px}header nav a{display:block;padding:12px 14px;min-height:44px}header.menu-ready nav{display:none}header.menu-ready.menu-open nav{display:flex;flex-direction:column;align-items:stretch}header nav .button{text-align:center}.menu-toggle:focus-visible{outline:3px solid #1683a0;outline-offset:3px}}

.language-switch{font-size:13px;white-space:nowrap;color:#0a3161;flex-shrink:0}.language-switch a{text-underline-offset:3px}.language-switch [aria-current]{font-weight:600}
@media(max-width:1100px){header .brand{order:1}.menu-toggle{order:2}.language-switch{order:3;width:100%;text-align:right}header nav{order:4}}
html[lang=vi] h1,html[lang=vi] h2{letter-spacing:-.7px}html[lang=vi] .eyebrow{letter-spacing:1px}

/* Vietnamese serif headings: complete, locally hosted glyphs. */
@font-face {
  font-family: 'VH Vietnamese Serif';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/noto-serif-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'VH Vietnamese Serif';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/noto-serif-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
html[lang=vi] h1,html[lang=vi] h2,html[lang=vi] .audience-group h4,html[lang=vi] .detail aside h3,html[lang=vi] .image-caption strong{font-family:"VH Vietnamese Serif","Times New Roman",serif;letter-spacing:0;line-height:1.25}

/* October 2026 staging feature and appointment request */
.interpreting-feature{margin:clamp(1.5rem,4vw,3rem) auto;padding:clamp(1.2rem,3vw,2.5rem);max-width:1200px;background:#eaf3f0;border:1px solid #c0d9d0;border-radius:1.1rem;color:#173c35}
.interpreting-feature h2{font-size:clamp(1.55rem,3vw,2.4rem);line-height:1.19;margin:.35rem 0 .8rem;max-width:850px}
.interpreting-feature p{max-width:800px;line-height:1.6}.interpreting-feature .button{display:inline-block;margin-top:.45rem}
.service-subtitle{font-size:clamp(1.3rem,2.5vw,1.8rem);line-height:1.25;margin:1rem 0;color:#246258}
.interpreting-form{max-width:920px}.interpreting-form h3{margin-top:0}.interpreting-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.interpreting-form label:not(.checkline):not(.trap-field){display:flex;flex-direction:column;gap:.4rem;margin:.6rem 0;font-weight:600}
.interpreting-form input:not([type=checkbox]),.interpreting-form select,.interpreting-form textarea{display:block;width:100%;min-width:0;padding:.72rem .8rem;border:1px solid #b8c7c3;border-radius:.45rem;font:inherit;background:white;color:#173c35;box-sizing:border-box}
.interpreting-form textarea{resize:vertical}.interpreting-form .checkline{display:flex;align-items:flex-start;gap:.5rem;line-height:1.45;margin:.45rem 0 1rem;font-weight:400}.interpreting-form .checkline input{width:1.1rem;height:1.1rem;flex:0 0 auto;margin-top:.12rem}.interpreting-form .timing-field{margin-bottom:.75rem}.interpreting-form .timing-field .checkline{font-size:.92rem;margin-top:0}.interpreting-form .consent{margin-top:1.1rem}.interpreting-form .trap-field{position:absolute;left:-9999px;opacity:0}.interpreting-form [role=status],.interpreting-form [role=alert]{padding:.8rem;border:1px solid #89b6a5;border-radius:.5rem;margin-top:.8rem}.interpreting-form [role=alert]{border-color:#ac5d5d}
@media(max-width:700px){.interpreting-feature{margin:1rem 0}.interpreting-form .form-row{grid-template-columns:1fr}.interpreting-form input,.interpreting-form select{font-size:16px}}


/* Staging interpreting form refinement — Oct 14, 2026 */
/* The bot trap is never a visible field, even if theme label styles change. */
.interpreting-form .trap-field,
.interpreting-form .trap-field[hidden] { display: none !important; }
.interpreting-form .name-row {
  display: grid;
  grid-template-columns: minmax(96px,.8fr) minmax(0,1.35fr) minmax(0,1.35fr);
  gap: .75rem;
  align-items: end;
}
.interpreting-form .name-row > label,
.interpreting-form .form-row > label { min-width: 0; }
.interpreting-form .name-row > label { margin-bottom: .5rem; }
.interpreting-form .name-row select { min-width: 0; }
.interpreting-form .contact-row { margin-bottom: .35rem; }
.interpreting-form .timing-field { min-width: 0; margin-bottom: .8rem; }
.interpreting-form .timing-field > label:not(.tbd-label) {
  margin-bottom: .28rem;
}
/* Place the checkbox immediately beside its own explanatory text. */
.interpreting-form label.tbd-label {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: .55rem;
  width: auto;
  min-width: 0;
  margin: .18rem 0 0 !important;
  font-size: .9rem;
  font-weight: 400;
  line-height: 1.35;
  cursor: pointer;
}
.interpreting-form label.tbd-label input[type="checkbox"],
.interpreting-form label.checkline input[type="checkbox"] {
  display: inline-block;
  width: 1.1rem !important;
  min-width: 1.1rem;
  height: 1.1rem;
  margin: 0;
  padding: 0;
  flex: 0 0 1.1rem;
  vertical-align: middle;
  accent-color: #12647a;
}
.interpreting-form .tbd-label span { display: inline; }
.interpreting-form .consent { display:flex; align-items:flex-start; gap:.65rem; }
.interpreting-form .consent input[type="checkbox"] {
  display:inline-block; width:1.1rem; min-width:1.1rem; height:1.1rem;
  margin:.18rem 0 0; flex:0 0 1.1rem; accent-color:#12647a;
}
@media (max-width:700px) {
  .interpreting-form .name-row { grid-template-columns: minmax(85px,.8fr) minmax(0,1.7fr); gap:.4rem .65rem; }
  .interpreting-form .name-row > label:last-child { grid-column: 1 / -1; }
}


/* Staging interpreting form consent acknowledgement: do not enable submission before agreement. */
.interpreting-form button[type="submit"]:disabled {
  background: #b9c4c9 !important;
  border-color: #b9c4c9 !important;
  color: #46545b !important;
  box-shadow: none !important;
  opacity: .78;
  cursor: not-allowed;
}


/* Compact interpreting quote form — STAGING REVIEW, 14 Oct 2026
   Tighter field rhythm and 3-column appointment detail row.
   Only the interpreting service page has this form; all other forms stay unchanged. */
@media(min-width:981px) {
  .intake:has(> .interpreting-form) {
    grid-template-columns: minmax(260px, 0.58fr) minmax(0, 1.42fr);
    gap: 32px;
  }
}
.interpreting-form {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 8px 13px;
  align-content: start;
  max-width: none;
  padding: 18px 22px;
  font-size: 13px;
  line-height: 1.3;
}
.interpreting-form > * { min-width: 0; }
.interpreting-form > h3,
.interpreting-form > .form-note,
.interpreting-form > .name-row,
.interpreting-form > .contact-row,
.interpreting-form > .form-row:not(.appointment-row),
.interpreting-form > .timing-field,
.interpreting-form > label:not(.duration-field),
.interpreting-form > .checkline,
.interpreting-form > [type=hidden],
.interpreting-form > .trap-field,
.interpreting-form > [role=status],
.interpreting-form > [role=alert] { grid-column: 1 / -1; }
.interpreting-form > h3 {font-size: 18px; margin:0; line-height:1.2;}
.interpreting-form > p.form-note {font-size:11.5px; line-height:1.35; margin:0;}
.interpreting-form > .form-row.appointment-row {grid-column:span 8; align-self:start;}
.interpreting-form > label.duration-field {grid-column:span 4; align-self:start;}
.interpreting-form .name-row {grid-template-columns: minmax(96px, .75fr) minmax(0, 1.45fr) minmax(0, 1.45fr); gap: 10px; align-items: start;}
.interpreting-form .form-row {gap: 12px; margin: 0;}
.interpreting-form label:not(.checkline):not(.trap-field) {
  font-size: 12.5px;
  font-weight: 600;
  display: flex;
  flex-direction: column;
  gap: 3px;
  line-height: 1.2;
  margin: 0;
}
.interpreting-form input:not([type=checkbox]),
.interpreting-form select,
.interpreting-form textarea {
  min-height: 34px;
  height: 34px;
  padding: 6px 9px;
  margin: 0;
  font-size: 13px;
  line-height: 1.3;
  border-radius: 5px;
}
.interpreting-form textarea { height: 51px; min-height: 51px; resize: vertical; }
.interpreting-form .timing-field {margin:0; min-width:0;}
.interpreting-form .timing-field > label:not(.tbd-label) {margin:0;}
.interpreting-form label.tbd-label {
  display: inline-flex!important;
  flex-direction: row!important;
  align-items:center;
  gap:5px;
  font-size:11.5px;
  line-height:1.2;
  margin: 4px 0 0!important;
  white-space:nowrap;
}
.interpreting-form label.tbd-label input[type=checkbox],
.interpreting-form label.checkline input[type=checkbox] {
  width: 14px!important;min-width:14px;height:14px;flex:0 0 14px;margin:0;
}
.interpreting-form .consent {margin:2px 0 0;gap:8px;font-size:12px;line-height:1.3;}
.interpreting-form .consent input[type=checkbox] {margin-top:1px!important;}
.interpreting-form > button[type=submit] {
  grid-column:1 / -1;
  justify-self:start;
  padding:8px 17px;
  min-height:35px;
  font-size:13px;
  line-height:1.2;
  margin:0;
}
.interpreting-form > .form-note a {text-decoration:underline;text-underline-offset:2px;}
@media(max-width:980px) {
  .intake:has(> .interpreting-form) {grid-template-columns:1fr;gap:25px;}
}
@media(max-width:620px) {
  .interpreting-form {display:block;padding:17px;}
  .interpreting-form > h3,.interpreting-form > p.form-note {margin-bottom:9px;}
  .interpreting-form > .form-row,.interpreting-form > .name-row,
  .interpreting-form > .timing-field,.interpreting-form > label:not(.checkline) {margin-bottom:10px!important;}
  .interpreting-form .form-row {grid-template-columns:1fr;gap:10px;}
  .interpreting-form .name-row {grid-template-columns: minmax(80px, .7fr) minmax(0, 1.6fr);gap:9px;}
  .interpreting-form .name-row > label:last-child {grid-column:1 / -1;}
  .interpreting-form .appointment-row {grid-template-columns:repeat(2,minmax(0,1fr));}
  .interpreting-form input:not([type=checkbox]),.interpreting-form select,.interpreting-form textarea {font-size:16px;height:39px;}
  .interpreting-form textarea {height:64px;}
  .interpreting-form .consent {margin:10px 0!important;}
  .interpreting-form > button[type=submit] {margin-top:8px;}
}


/* Compact interpreting form — separate international dialing code */
.interpreting-form .sr-only {
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
  margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.interpreting-form .phone-field {min-width:0;}
.interpreting-form .phone-field-label {display:block;margin:0 0 3px;font-size:12.5px;font-weight:600;line-height:1.2;}
.interpreting-form .phone-split {display:grid;grid-template-columns:minmax(116px,42%) minmax(0,1fr);gap:6px;min-width:0;}
.interpreting-form .phone-split > label {margin:0!important;display:block!important;min-width:0;}
.interpreting-form .phone-split > label select,.interpreting-form .phone-split > label input {width:100%;max-width:100%;margin:0;}
@media(max-width:620px) {
 .interpreting-form .phone-split {grid-template-columns:minmax(116px,38%) minmax(0,1fr);}
}


/* Staging interpreting form: fit content and show additional-notes count. */
.intake:has(> .interpreting-form) > .interpreting-form {align-self:start;height:auto;}
.interpreting-form > .notes-field {grid-column:1 / -1;min-width:0;}
.interpreting-form .notes-field > label {display:block!important;margin:0 0 3px!important;font-size:12.5px;font-weight:600;line-height:1.2;}
.interpreting-form .notes-field > textarea {width:100%;height:68px;min-height:68px;resize:vertical;}
.interpreting-form .notes-counter {display:block;text-align:right;margin-top:2px;font-size:11px;line-height:1.2;color:#627780;}
@media(max-width:620px) {
  .interpreting-form .notes-field {margin-bottom:10px;}
  .interpreting-form .notes-field > textarea {height:82px;min-height:82px;}
}


/* Staging-only October 16 2026 sitewide layout compaction.
   Editorial whitespace only; never change interpreting form sizing or logic. */
@media (min-width: 701px) {
  .hero { margin-bottom: 33px; }
  .hero-copy { padding-top: 35px; padding-bottom: 35px; }
  .hero-image { min-height: 460px; }
  .gateways { padding-top: 38px; padding-bottom: 44px; }
  .section-intro { margin-bottom: 22px; }
  .gateway-grid { gap: 19px; }
  .gateway { padding: 21px 23px; }
  .gateway-title { margin-bottom: 13px; }
  .category { padding: 11px 10px; margin: 1px 0; }
  :root .audience-group { padding: 17px; margin-top: 13px; }
  .audience-path { padding: 10px; margin-top: 6px; }
  .interpreting-feature { margin-top: 22px; margin-bottom: 23px; padding: 20px 24px; }
  .approach { margin-top: 53px; margin-bottom: 53px; gap: 55px; }
  .steps article { padding: 14px 0; gap: 18px; }
  .professional { padding-top: 38px; padding-bottom: 38px; gap: 5px 52px; }
  .about-cal { margin-top: 38px; padding: 23px 0; gap: 42px; }
  .intake:not(:has(> .interpreting-form)) { margin-top: 55px; margin-bottom: 55px; gap: 48px; }
  .intake-note { margin-top: 22px; padding: 17px; }
  .faq { margin-bottom: 46px; }
  .faq details { padding: 12px 0; }
  .faq details p { margin-top: 9px; }
  .detail { margin-top: 35px; padding: 24px; gap: 38px; }
  .detail aside { padding: 21px; }
  .back-link { margin-bottom: 17px; }
  .regional-photo { margin: 20px 0 23px; }
  .content-section { margin: 19px 0; }
  .content-section li { padding: 3px 0; }
  .scope-box { margin: 18px 0; padding: 18px; }
}
/* Both viewport sizes: maintain comfortable font sizes and tap targets. */
.about-cal p + p { margin-top: .8em; }
.privacy-page { max-width: 920px; margin-top: 30px; margin-bottom: 42px; }
.privacy-page h1 { margin-top: 0; margin-bottom: 12px; }
.privacy-page h2 { margin-top: 18px; margin-bottom: 5px; font-size: 21px; line-height: 1.32; }
.privacy-page p { margin: 7px 0 10px; line-height: 1.56; }
.privacy-page .privacy-updated { font-size: 13px; color: var(--muted); margin-top: 18px; }
.privacy-page .privacy-contact { margin-top: 10px; }
@media (max-width: 700px) {
  .hero { margin-bottom: 22px; }
  .gateways { padding-top: 28px; padding-bottom: 34px; }
  .section-intro { margin-bottom: 22px; }
  .gateway-grid { gap: 15px; }
  .gateway { padding: 18px; }
  .gateway-title { margin-bottom: 13px; }
  .category { padding: 11px 9px; margin: 2px 0; }
  :root .audience-group { padding: 15px; margin-top: 12px; }
  .audience-path { padding: 11px 10px; margin-top: 7px; }
  .interpreting-feature { padding: 17px; }
  .approach { margin-top: 36px; margin-bottom: 36px; }
  .steps article { padding: 13px 0; gap: 14px; }
  .professional { padding-top: 30px; padding-bottom: 30px; }
  .about-cal { margin-top: 30px; padding-top: 18px; padding-bottom: 18px; }
  .intake:not(:has(> .interpreting-form)) { margin-top: 40px; margin-bottom: 44px; }
  .faq { margin-bottom: 35px; }
  .faq details { padding: 12px 0; }
  .detail { margin-top: 24px; padding: 18px; gap: 22px; }
  .detail aside { padding: 18px; }
  .regional-photo { margin: 17px 0 19px; }
  .content-section { margin: 16px 0; }
  .content-section li { padding: 3px 0; }
  .privacy-page { padding: 0 20px; margin: 24px auto 32px; }
  .privacy-page h2 { font-size: 20px; }
}

/* General Get Help form — compact layout for the staged English/Vietnamese site.
   CSS-only: no field names, server logic, or interpreting form rules changed. */
#intake-form {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:12px;
  row-gap:9px;
  align-content:start;
  align-self:start;
  height:auto;
  padding:20px 22px;
  font-size:13px;
  line-height:1.3;
}
#intake-form > * {min-width:0;margin:0;}
#intake-form > label,
#intake-form .form-row > label,
#intake-form .phone-fields label {
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
  margin:0;
  font-size:12.5px;
  font-weight:600;
  line-height:1.25;
}
#intake-form input:not([type=checkbox]),
#intake-form select,
#intake-form textarea {
  display:block;
  width:100%;
  min-width:0;
  height:36px;
  min-height:36px;
  padding:7px 9px;
  margin:0;
  border-radius:5px;
  font-size:13px;
  line-height:1.3;
}
#intake-form > label:has(select[name="title"]) {grid-column:span 3;}
#intake-form > .form-row:has([name="first_name"]) {
  grid-column:span 9;
  align-self:end;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
#intake-form > label:has([name="email"]) {grid-column:span 6;}
#intake-form > fieldset.phone-fields {
  grid-column:span 6;
  padding:0;
  border:0;
  margin:0;
  min-width:0;
}
#intake-form .phone-fields legend {
  font-size:12.5px;
  font-weight:600;
  line-height:1.25;
  padding:0;
  margin:0 0 3px;
}
#intake-form .phone-fields .form-row {
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:8px;
  margin:0;
}
#intake-form .phone-fields .form-note {margin:3px 0 0;font-size:11px;line-height:1.25;}
#intake-form .phone-fields .form-row label {font-size:11.5px;gap:3px;}
#intake-form > .form-row:has([name="location"]) {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
#intake-form > label:has(textarea[name="message"]) {grid-column:1 / -1;}
#intake-form textarea[name="message"] {height:83px;min-height:83px;resize:vertical;}
#intake-form > button[type="submit"] {
  grid-column:1 / -1;
  justify-self:start;
  align-self:start;
  min-height:36px;
  padding:8px 18px;
  margin:2px 0 0;
  font-size:13px;
  line-height:1.25;
}
#intake-form > p.form-note {
  grid-column:1 / -1;
  font-size:11.5px;
  line-height:1.35;
  margin:0;
}
#intake-form > #inquiry-preview,
#intake-form > noscript {grid-column:1 / -1;}
#intake-form > #inquiry-preview {margin:3px 0 0;padding:12px;}
#intake-form > input[type="hidden"] {display:none;}
@media (max-width:780px) {
  #intake-form {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:17px;}
  #intake-form > label:has(select[name="title"]),
  #intake-form > .form-row:has([name="first_name"]),
  #intake-form > label:has([name="email"]),
  #intake-form > fieldset.phone-fields,
  #intake-form > .form-row:has([name="location"]),
  #intake-form > label:has(textarea[name="message"]),
  #intake-form > button[type="submit"],
  #intake-form > p.form-note,
  #intake-form > #inquiry-preview,
  #intake-form > noscript {grid-column:1 / -1;}
  #intake-form > .form-row:has([name="first_name"]),
  #intake-form > .form-row:has([name="location"]) {grid-template-columns:repeat(2,minmax(0,1fr));}
  #intake-form input:not([type=checkbox]),
  #intake-form select,#intake-form textarea {min-height:41px;height:41px;font-size:16px;}
  #intake-form textarea[name="message"] {height:100px;min-height:100px;}
}
@media(max-width:480px) {
  #intake-form > .form-row:has([name="location"]) {grid-template-columns:1fr;gap:10px;}
  #intake-form .phone-fields .form-row {grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);}
}


/* Homepage presentation refinement, 2026-10-16.
   Applies to homepage sections; preserves forms, validation and editorial content. */
@media (min-width: 701px) {
  /* Crop excess sky from the TOP. Keep the skyline, caption and image credit visible. */
  .hero-image { min-height: 392px; height: 392px; }
  .hero-image img { object-fit: cover; object-position: 54% 100%; }
  .hero { margin-bottom: 16px; }
  .hero-copy { padding-top: 29px; padding-bottom: 29px; }
  .gateways { padding-top: 28px; padding-bottom: 32px; }
  .gateways .section-intro { margin-bottom: 17px; }
  .gateway-grid { gap: 16px; align-items: start; }
  .gateway-grid > .gateway { align-self: start; padding: 17px 20px; }
  .gateway-title { margin-bottom: 9px; }
  .gateways .category { padding: 8px 8px; margin: 0; }
  .gateways .category strong { font-size: 15px; line-height: 1.34; }
  .gateways .category small { font-size: 12px; line-height: 1.38; margin-top: 2px; }
  .gateways .birth-shortcut { padding: 7px 10px 8px 19px; font-size: 13px; line-height: 1.35; }
  .gateway .audience-group { margin-top: 10px; padding: 13px; }
  .gateway .audience-group h4 { font-size: 23px; margin-bottom: 3px; }
  .gateway .audience-group .group-description { font-size: 12.5px; line-height: 1.4; margin-bottom: 7px; }
  .gateway .audience-group .audience-path { margin-top: 5px; padding: 8px; }
  .gateway .audience-group .audience-path strong { font-size: 14px; line-height: 1.4; }
  .gateway .audience-group .audience-path small { font-size: 12px; }
  .interpreting-feature { margin-top: 15px; margin-bottom: 16px; padding: 17px 22px; }
  .interpreting-feature h2 { margin-top: 5px; margin-bottom: 6px; }
  .interpreting-feature p { line-height: 1.45; margin-bottom: 9px; }
  .interpreting-feature .button { margin-top: 4px; }
  .approach { margin-top: 31px; margin-bottom: 31px; gap: 34px; }
  .approach h2 { font-size: 40px; }
  .steps article { padding: 11px 0; gap: 12px; }
  .professional { padding-top: 27px; padding-bottom: 27px; gap: 4px 34px; }
  .professional p:last-child { line-height: 1.52; }
  .about-cal { margin-top: 24px; padding: 18px 0; gap: 30px; }
  .about-cal h2 { font-size: 30px; }
  .intake:not(:has(> .interpreting-form)) { margin-top: 34px; margin-bottom: 25px; gap: 24px; }
  .intake:not(:has(> .interpreting-form)) h2 { margin-bottom: 12px; }
  .faq { margin-top: 12px; margin-bottom: 25px; }
  .faq h2 { font-size: 30px; margin-bottom: 12px; }
  .faq details { padding: 10px 0; }
  footer { padding-top: 26px; padding-bottom: 26px; }
}
/* Explicitly group biography paragraphs to avoid placing each in a separate grid cell. */
.about-cal { grid-template-columns: minmax(160px,.55fr) minmax(0,1.85fr); }
.about-cal-copy { min-width: 0; }
.about-cal-copy p { margin: 0; }
.about-cal-copy p + p { margin-top: 12px; }
/* QR codes stay large enough to scan while no longer dominating the contact panel. */
.intake .contact-details { padding: 15px; margin-top: 13px; margin-bottom: 13px; }
.intake .messaging-codes { gap: 9px; margin-top: 12px; }
.intake .qr-card { padding: 9px 6px 11px; border-radius: 6px; }
.intake .qr-card h4 { font-size: 15px; margin-bottom: 5px; }
.intake .qr-card img { width: 100%; max-width: 110px; height: auto; }
.intake .contact-details .qr-card p { font-size: 12px; margin: 5px 0 0; line-height: 1.35; }
.intake .contact-details .messaging-link { font-size: 13px; margin-top: 4px; line-height: 1.4; padding: 5px 0; }
.intake .intake-note { margin-top: 13px; padding: 13px; }
.intake .intake-note h3 { font-size: 16px; }
.intake .intake-note p { font-size: 13px; line-height: 1.45; }
/* Responsively preserve the shorter image and comfortable tap sizes. */
@media (max-width: 1100px) and (min-width:701px) {
  .hero-image { height: 365px; min-height: 365px; }
  .gateway-grid > .gateway { padding: 15px; }
  .gateways .category { padding-top: 7px; padding-bottom: 7px; }
  .about-cal { gap: 24px; }
}
@media (max-width: 700px) {
  .hero-image { aspect-ratio: 1.95 / 1; min-height: 0; }
  .hero-image img { object-position: 54% 100%; }
  .hero { margin-bottom: 17px; }
  .gateways { padding-top: 23px; padding-bottom: 25px; }
  .gateways .section-intro { margin-bottom: 15px; }
  .gateway-grid { gap: 13px; align-items: start; }
  .gateway-grid > .gateway { padding: 15px; align-self: start; }
  .gateways .category { padding: 9px 8px; margin: 0; }
  .gateways .category strong { font-size: 15px; }
  .gateways .category small { font-size: 12.5px; line-height: 1.4; }
  .interpreting-feature { margin-top: 15px; margin-bottom: 15px; padding: 16px; }
  .approach { margin-top: 26px; margin-bottom: 28px; }
  .steps article { padding: 12px 0; }
  .professional { padding-top: 25px; padding-bottom: 25px; }
  .about-cal { grid-template-columns: 1fr; gap: 10px; margin-top: 22px; padding-top: 15px; padding-bottom: 15px; }
  .about-cal-copy p + p { margin-top: 11px; }
  .intake:not(:has(> .interpreting-form)) { margin-top: 27px; margin-bottom: 28px; }
  .faq { margin-top: 16px; margin-bottom: 28px; }
  .faq details { padding: 10px 0; }
  .intake .qr-card img { max-width: 110px; }
}


/* Homepage targeted compactness v5: featured service and three-step approach only.
   Preserve approved content, forms, hero image and accessible mobile text sizes. */
@media (min-width: 701px) {
  .interpreting-feature { margin-top: 9px; margin-bottom: 11px; padding: 12px 19px 14px; }
  .interpreting-feature .eyebrow { margin: 0 0 3px; line-height: 1.3; }
  .interpreting-feature h2 { font-size: clamp(27px, 2.2vw, 33px); line-height: 1.14; margin: 3px 0 6px; max-width: 960px; }
  .interpreting-feature p { max-width: 1000px; line-height: 1.37; margin: 0 0 8px; }
  .interpreting-feature .button { margin-top: 1px; padding: 9px 16px; }
  .approach { margin-top: 15px; margin-bottom: 19px; gap: 25px; align-items: start; }
  .approach .eyebrow { margin-bottom: 9px; }
  .approach h2 { font-size: clamp(32px, 2.6vw, 36px); line-height: 1.16; margin: 6px 0 13px; }
  .approach > div:first-child > p:last-child { margin-top: 0; line-height: 1.49; }
  .steps article { padding: 7px 0; gap: 10px; align-items: start; }
  .steps article > span { width: 37px; height: 37px; font-size: 17px; }
  .steps h3 { font-size: 20px; line-height: 1.3; margin: 0 0 4px; }
  .steps p { line-height: 1.43; margin: 0; }
}
@media (max-width: 700px) {
  .interpreting-feature { margin-top: 11px; margin-bottom: 11px; padding: 14px 16px; }
  .interpreting-feature h2 { margin: 3px 0 6px; line-height: 1.2; }
  .interpreting-feature p { line-height: 1.45; margin-bottom: 7px; }
  .interpreting-feature .button { margin-top: 3px; }
  .approach { margin-top: 19px; margin-bottom: 22px; gap: 17px; }
  .steps article { padding: 10px 0; gap: 11px; }
  .steps h3 { margin-bottom: 4px; }
}


/* Homepage v6 — use the photographer-selected skyline crop at its true aspect ratio.
   Do not impose the older shorter image frame: that frame cut off the approved crop. */
.hero .hero-image {
  height: auto;
  min-height: 0;
  aspect-ratio: 1799 / 810;
}
.hero .hero-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}
/* Small additional refinement after the already-approved compact v5 sections. */
@media (min-width: 701px) {
  .interpreting-feature { margin-top: 8px; margin-bottom: 9px; }
  .approach { margin-top: 12px; margin-bottom: 16px; gap: 22px; }
  .steps article { padding-top: 5px; padding-bottom: 5px; }
}
@media (max-width: 700px) {
  .approach { margin-top: 16px; margin-bottom: 19px; gap: 15px; }
  .steps article { padding-top: 8px; padding-bottom: 8px; }
}
@media (max-width: 440px) {
  /* Keep captions legible without obscuring the narrow mobile composition. */
  .hero .image-caption { left: 14px; bottom: 18px; font-size: 9px; letter-spacing: .6px; }
  .hero .image-caption strong { font-size: 16px; max-width: 245px; line-height: 1.12; }
  .hero .hero-photo-credit { right: 8px; bottom: 5px; font-size: 8px; }
}


/* v7 HOMEPAGE: smaller English/Vietnamese headline and denser hero above
   the approved, completely visible photo. No wording or form changes. */
.hero {
  margin-top: 5px;
  margin-bottom: 20px;
}
.hero .hero-copy {
  padding: 18px 40px 19px;
  column-gap: 36px;
  row-gap: 0;
}
.hero .hero-copy .eyebrow {
  margin: 0 0 5px;
  line-height: 1.3;
}
.hero .hero-copy h1 {
  font-size: 49px;
  line-height: 1.06;
  letter-spacing: -1.25px;
  margin: 0;
}
.hero .hero-copy .lead { margin: 0 0 5px; }
.hero .hero-copy > p:not(.eyebrow):not(.lead):not(.consult) {
  margin: 0 0 5px;
}
.hero .hero-copy .actions {
  margin: 3px 0 5px;
  gap: 18px;
}
.hero .hero-copy .consult {
  margin: 0;
  line-height: 1.4;
}
/* Preserve clickable controls, simply reduce their unused top/bottom padding. */
.hero .hero-copy .actions .button { padding-top: 9px; padding-bottom: 9px; }
@media (min-width: 1101px) and (max-height: 860px) {
  /* On low-height laptop screens, scale the whole photo/hero proportionally,
     never crop or stretch the user-selected image. */
  .hero {
    max-width: min(1228px, max(930px, calc((100svh - 340px) * 1799 / 810)));
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .hero { margin-top: 4px; margin-bottom: 17px; }
  .hero .hero-copy { padding: 16px 25px 17px; column-gap: 24px; }
  .hero .hero-copy h1 { font-size: 43px; letter-spacing: -1px; }
  .hero .hero-copy .eyebrow { margin-bottom: 4px; }
  .hero .hero-copy .actions { gap: 12px; }
}
@media (max-width: 700px) {
  /* Mobile remains stacked: do not force the two-column desktop arrangement. */
  .hero { margin-top: 4px; margin-bottom: 16px; }
  .hero .hero-copy { display: block; padding: 16px 23px 17px; }
  .hero .hero-copy h1 {
    font-size: 37px;
    line-height: 1.08;
    letter-spacing: -.65px;
    margin: 5px 0 11px;
  }
  .hero .hero-copy .eyebrow { margin: 0 0 6px; }
  .hero .hero-copy .lead { margin: 0 0 6px; }
  .hero .hero-copy > p:not(.eyebrow):not(.lead):not(.consult) { margin: 0 0 7px; }
  .hero .hero-copy .actions { margin: 11px 0 6px; gap: 14px; }
  .hero .hero-copy .consult { margin: 0; }
}

/* v8: modestly reduce ONLY the space above/below the logo and navigation.
   All text/logo/button sizes, v7 hero, image, and form rules remain unchanged. */
body > header {
  padding-top: 10px;
  padding-bottom: 10px;
}
@media (max-width: 1100px) {
  body > header { row-gap: 8px; }
}
