/* Native reading rhythm. Existing content, imagery, brand and print layouts stay intact. */
.service-enquiry-lead { margin:20px 0 24px; }
.service-enquiry-promise { display:grid; gap:4px; margin:0 0 16px; line-height:1.65; }
.service-enquiry-promise strong { color:#254b40; font-size:17px; }
.service-enquiry-promise span { color:#636367; font-size:15px; }
.service-enquiry-lead .button { min-height:48px; max-width:100%; white-space:normal; text-align:center; }
.service-enquiry-boundary { margin:10px 0 0; font-size:14px; line-height:1.65; color:#636367; }
.service-enquiry-owner { margin:12px 0 0; font-size:14px; color:#636367; }
body[data-style-page="detail"] #app .page-summary:has(.service-enquiry-lead)>.eyebrow { display:block; margin-bottom:10px; color:#636367; font-size:14px; }
body[data-style-page="detail"] #app .scene-caption strong { max-width:100%; }
/* Keep the same reading order in the two flex-based product introductions. */
body[data-style-page="detail"] #app .page-summary:has(.service-enquiry-lead)>.service-enquiry-lead { order:3; align-self:stretch; }
body[data-style-page="detail"] #app .page-summary:has(.service-enquiry-lead)>.graduate-detail-cover { order:4; }
body[data-style-page="detail"] #app .page-summary:has(.service-enquiry-lead)>.pdf-tools { order:5; }

@media screen {
 :root { --phone-ink:#1d1d1f; --phone-muted:#636367; --phone-line:#e9e9ec; }
 html { -webkit-text-size-adjust:100%; }
 body { -webkit-font-smoothing:antialiased; }
 #app img { image-rendering:auto; }
 #app h1[tabindex="-1"]:focus { outline:none; }
 body .bovet-contact-launcher { position:fixed; top:var(--contact-center,66.667dvh); bottom:auto; transform:translateY(-50%); width:48px; height:48px; min-width:48px; min-height:48px; padding:11px; border-radius:50%; gap:0; }
 body .bovet-contact-launcher>span { display:none; }
 .bovet-qr-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bovet-qr-card { text-align:center; min-width:0; }
 .bovet-qr-enlarge { background:white; border:0; padding:0; cursor:pointer; }
 .bovet-qr-enlarge img { display:block; max-width:100%; object-fit:contain; }
 .bovet-qr-card.is-enlarged { grid-column:1/-1; }
 .bovet-qr-card.is-enlarged .bovet-qr-enlarge { max-width:300px; }
 .bovet-contact-panel { -webkit-overflow-scrolling:touch; }
 .bovet-contact-close { transition:background .15s ease; }
}
@media screen and (max-width:800px) {
 body, body[data-style-page] {
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC",sans-serif;
  font-size:17px; line-height:1.7; color:var(--phone-ink);
  padding-bottom:calc(78px + env(safe-area-inset-bottom));
 }
 body .header { background:#fff; border-bottom:1px solid var(--phone-line); backdrop-filter:none; }
 body .header .bar { width:calc(100% - 32px); min-height:70px; height:auto; gap:8px; }
 body .header .header-identity { gap:8px; }
 body .header .brand-logo-image { max-height:60px; }
 body .header .language-select { width:88px; max-width:88px; min-height:44px; font-size:14px; background:#f5f5f7; border-radius:13px; }
 body .header .header-tools { gap:0; }
 body .app-back { width:36px; height:44px; background:transparent; }
 body .mobile-menu summary { width:40px; min-height:44px; font-size:24px; }
 body .mobile-menu nav { border:1px solid var(--phone-line); box-shadow:0 12px 36px #00000012; }
 body .mobile-menu nav a, body .mobile-menu nav button { font-size:16px; }
 body .wrap { width:calc(100% - 40px); }
 body #app .copy p, body #app .copy li { font-size:17px; line-height:1.8; }
 body[data-style-page="home"] #app .approved-layout,
 body[data-style-page="team"] #app .approved-layout { width:100%; max-width:1080px; padding:20px 20px 24px; }
 body[data-style-page="home"] #app>.approved-layout.home-feed { padding-left:20px; padding-right:20px; }
 body[data-style-page] #app .approved-layout .wrap { width:100%; padding:0; }
 body[data-style-page="home"] #app .home-feed .naturalisation-feature { margin:0 0 36px; border-radius:22px; border:1px solid var(--phone-line); box-shadow:none; }
 body[data-style-page="home"] #app .home-feed .naturalisation-scene { aspect-ratio:16/10; }
 body[data-style-page="home"] #app .home-feed .naturalisation-caption { padding:22px; gap:10px; }
 body[data-style-page="home"] #app .home-feed .naturalisation-caption h2 { font-family:inherit; font-size:25px; font-weight:650; line-height:1.35; letter-spacing:-.02em; }
 body[data-style-page="home"] #app .home-feed .naturalisation-caption strong { font-family:inherit; font-size:46px; font-weight:600; line-height:1.2; letter-spacing:-.035em; }
 body[data-style-page="home"] #app .home-feed .naturalisation-caption p { font-size:15px; line-height:1.65; color:#525256; }
 body[data-style-page="home"] #app .home-feed .naturalisation-caption small { font-size:12px; color:var(--phone-muted); }
 body[data-style-page="home"] #app .home-feed .feature-action { font-size:15px; min-height:28px; display:flex; align-items:center; }
 body[data-style-page="home"] #app .home-feed .intro { padding:0 0 18px; margin:0; }
 body[data-style-page="home"] #app .home-feed .intro h1 { font-size:27px; font-weight:650; line-height:1.35; letter-spacing:-.02em; margin:0 0 10px; }
 body[data-style-page="home"] #app .home-feed .intro p { font-size:16px; line-height:1.65; color:var(--phone-muted); }
 body[data-style-page="home"] #app .intro .link { font-size:15px; min-height:44px; display:inline-flex; align-items:center; }
 body[data-style-page="home"] #app .tabs { gap:24px; padding:0 0 20px; overflow:auto; scrollbar-width:none; }
 body[data-style-page="home"] #app .tabs button { font-size:16px; white-space:nowrap; flex-shrink:0; }
 body[data-style-page="home"] #app .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 12px; }
 body[data-style-page="home"] #app .grid>.card { display:flex; flex-direction:column; }
 body #app .scene-cover { border-radius:17px; }
 body #app .scene-caption { padding:16px 12px 40px; }
 body #app .scene-caption strong { font-size:23px; letter-spacing:0; line-height:1.3; }
 body #app .scene-caption small { font-size:12px; line-height:1.5; font-weight:500; }
 body[data-style-page="home"] #app .card h2 { font-size:17px; font-weight:600; line-height:1.45; margin:12px 0 0; letter-spacing:-.01em; }
 body[data-style-page="home"] #app .feed-price,
 body[data-style-page="home"] #app .graduate-card-price { font-size:14px!important; line-height:1.6!important; margin:8px 0 10px!important; color:var(--phone-muted)!important; }
 body[data-style-page="home"] #app .card>.meta { margin:auto 0 0; min-height:28px; font-size:14px; color:#747478; }
 body[data-style-page="home"] #app .card>.meta>span:first-child { display:none; }
 body[data-style-page="home"] #app .card>.meta>span:last-child { color:#a8273b; }
 body[data-style-page="home"] #app .home-support-heading h2,
 body[data-style-page="home"] #app .primary-area-entries>h2 { font-size:24px; font-weight:650; line-height:1.4; }
 body[data-style-page="home"] #app .home-feed .team-cover { border-radius:22px; border-color:var(--phone-line); }
 body[data-style-page="home"] #app .home-feed .team-cover>div { padding:22px; gap:10px; }
 body[data-style-page="home"] #app .home-feed .team-cover strong { font-size:25px; font-weight:650; }
 body[data-style-page="home"] #app .home-feed .team-language { font-size:15px; color:var(--phone-muted); }
 body[data-style-page="home"] #app .primary-area-entries { margin:36px 0; padding-top:28px; border-color:var(--phone-line); }
 body[data-style-page="home"] #app .primary-area-entries .directory-intro { font-size:16px; line-height:1.65; }
 body[data-style-page="home"] #app .primary-area-entries a { border-radius:22px; border-color:var(--phone-line); box-shadow:none; }
 body[data-style-page="home"] #app .primary-area-entries .directory-copy { padding:22px; }
 body[data-style-page="home"] #app .primary-area-entries .directory-copy p { font-size:15px; line-height:1.65; }
 body[data-style-page="home"] #app .line { font-size:13px; color:var(--phone-muted); }
 body[data-style-page="detail"] #app .wrap { width:100%; padding-left:20px; padding-right:20px; }
 body[data-style-page="detail"] #app .page-head { padding:24px 0 0; }
 body[data-style-page="detail"] #app .page-summary { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
 body[data-style-page="detail"] #app .page-summary>h1 { font-family:inherit; font-size:30px!important; line-height:1.35; letter-spacing:-.02em; margin:0 0 16px; }
 body[data-style-page="detail"] #app .page-summary>p { font-size:17px; line-height:1.75; color:#55555a; }
 body[data-style-page="detail"] #app .graduate-detail-cover { max-width:none!important; margin:16px 0 20px!important; }
 body[data-style-page="detail"] #app .scene-cover { aspect-ratio:16/10!important; max-height:320px; border-radius:20px; }
 body[data-style-page="detail"] #app .scene-caption { padding:22px 20px 50px; }
 body[data-style-page="detail"] #app .scene-caption strong { font-size:28px; }
 body[data-style-page="detail"] #app .scene-caption small { font-size:14px; }
 body[data-style-page="detail"] #app .detail-tabs { padding:4px 12px; gap:4px; background:#fff; border-bottom:1px solid var(--phone-line); }
 body[data-style-page="detail"] #app .detail-tabs button { font-size:15px; padding:10px 12px; border-radius:10px; }
 body[data-style-page="detail"] #app .detail-tabs button[aria-current="location"] { background:#f5f5f7; box-shadow:none; }
 body[data-style-page="detail"] #app p,
 body[data-style-page="detail"] #app li { font-size:17px!important; line-height:1.8; }
 body[data-style-page="detail"] #app h2 { font-size:23px!important; font-weight:650; line-height:1.4; letter-spacing:-.02em; }
 body[data-style-page="detail"] #app summary { font-size:16px; line-height:1.5; }
 body[data-style-page="detail"] #app .detail-card,
 body[data-style-page="detail"] #app .service-package { border-radius:20px; box-shadow:none; }
 body[data-style-page="detail"] #app .service-quote { width:calc(100% - 40px); margin:32px auto; padding:26px 0!important; border-radius:0; border:0; border-top:1px solid var(--phone-line); }
 body[data-style-page="detail"] #app .service-quote p { font-size:16px; line-height:1.75; }
 body[data-style-page="detail"] #app .service-quote .button { margin-top:18px; border-radius:14px; min-height:50px; }
 body[data-style-page="team"] #app .team-intro h1 { font-size:30px; font-weight:650; line-height:1.35; margin:4px 0 14px; }
 body[data-style-page="team"] #app .team-intro p { font-size:17px; line-height:1.75; color:var(--phone-muted); }
 body[data-style-page="team"] #app .group-photo { margin:24px 0 32px; }
 body[data-style-page="team"] #app .group-photo img { border-radius:20px; }
 body[data-style-page="team"] #app .group-photo figcaption { font-size:13px; color:var(--phone-muted); }
 body[data-style-page="team"] #app .members { gap:24px 12px; }
 body[data-style-page="team"] #app .member { border-color:var(--phone-line); border-radius:18px; }
 body[data-style-page="team"] #app .member img { height:auto; aspect-ratio:1/1; }
 body[data-style-page="team"] #app .member>div { padding:14px 12px; }
 body[data-style-page="team"] #app .member h3 { font-size:17px; line-height:1.4; font-weight:600; }
 body[data-style-page="team"] #app .member p { font-size:14px; line-height:1.65; color:var(--phone-muted); }
 body[data-style-page="team"] #app .member span { font-size:14px; min-height:28px; display:block; }
 body[data-style-page="team"] #app .team-note { font-size:15px; line-height:1.75; border-radius:18px; }
 body .mobile-bottom { padding:6px 16px calc(6px + env(safe-area-inset-bottom))!important; background:#ffffffed!important; border-top:1px solid #e5e5e8; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
 body .mobile-bottom .app-tabs { gap:12px; }
 body .mobile-bottom .app-tab { min-height:56px; padding:6px 3px; gap:4px; border-radius:16px; font-size:13px; font-weight:500; color:#77777c; }
 body .mobile-bottom .app-tab>.ui-icon { width:24px; height:24px; }
 body .mobile-bottom .app-tab[aria-current="page"] { background:#f1f3f6!important; color:#253d50!important; font-weight:600; }
 body .bovet-contact-launcher { box-shadow:0 3px 12px #1b354524; border:1px solid #ffffffb3; }
 body:has(#bovet-contact-panel[open]) .bovet-contact-launcher { visibility:hidden; }
 body dialog.bovet-contact-panel { inset:auto 0 0!important; width:100%!important; margin:0; max-height:calc(100dvh - env(safe-area-inset-top) - 16px); padding:28px 22px calc(24px + env(safe-area-inset-bottom)); border:0; border-radius:28px 28px 0 0; box-shadow:0 -8px 50px #00000014; color:var(--phone-ink); }
 body dialog.bovet-contact-panel::before { content:""; display:block; width:36px; height:5px; border-radius:5px; background:#d6d6da; margin:-17px auto 20px; }
 body dialog.bovet-contact-panel::backdrop { background:#00000038; backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); }
 body .bovet-contact-panel h2 { font-size:24px; font-weight:650; }
 body .bovet-contact-panel .bovet-contact-intro { font-size:16px; margin:16px 0 0; color:var(--phone-muted); }
 body .bovet-contact-panel .bovet-contact-eyebrow { font-size:13px; color:var(--phone-muted); }
 body .bovet-contact-close { color:#5c5c61; background:#f1f1f4; margin:-3px -5px 0 0; }
 body .bovet-qr-grid { gap:14px; margin:20px 0 12px; }
 body .bovet-qr-card { border:1px solid var(--phone-line); border-radius:18px; padding:14px 8px 8px; background:#fff; }
 body .bovet-qr-card h3 { font-family:inherit; font-size:16px; color:var(--phone-ink); margin:0 0 8px; }
 body .bovet-qr-enlarge { width:100%; max-width:176px; border-radius:10px; padding:0; }
 body .bovet-qr-enlarge img { width:100%; height:auto; aspect-ratio:1/1; border-radius:0; }
 body .bovet-qr-card .bovet-contact-open { font-size:14px; border-radius:11px; min-height:44px; margin-top:10px; }
 body .bovet-contact-option { min-height:68px; padding:12px 4px; font-size:16px; color:var(--phone-ink); border-color:var(--phone-line); }
 body .bovet-contact-option-text small { font-size:14px; color:var(--phone-muted); }
 body .bovet-contact-panel .bovet-contact-hours { font-size:13px; margin-top:18px; color:var(--phone-muted); }
 body footer { padding-bottom:24px; }
 body .foot { font-size:13px; line-height:1.75; color:var(--phone-muted); }
 body .more-existing summary { font-size:16px; min-height:44px; }
 body .button, body .service-row { -webkit-tap-highlight-color:transparent; }
}
@media screen and (max-width:359px) {
 body[data-style-page="home"] #app .approved-layout,
 body[data-style-page="team"] #app .approved-layout { padding-left:16px; padding-right:16px; }
 body[data-style-page="home"] #app>.approved-layout.home-feed { padding-left:16px; padding-right:16px; }
 body[data-style-page="detail"] #app .wrap { padding-left:16px; padding-right:16px; }
 body .header .bar { width:calc(100% - 24px); }
 body .header .language-select { width:74px; max-width:74px; }
 body #app .scene-caption strong { font-size:21px; }
 body[data-style-page="home"] #app .card h2 { font-size:16px; }
 body .bovet-qr-card { padding-left:6px; padding-right:6px; }
 body dialog.bovet-contact-panel { padding-left:18px; padding-right:18px; }
}
@media(prefers-reduced-motion:reduce) {
 .bovet-contact-close { transition:none; }
}

/* Phone, SMS and user-provided QR contact channels. */
@media screen {
 body .bovet-phone-card { margin:18px 0 16px; padding:20px; border-radius:18px; background:#f0f5f9; color:#1e4058; }
 body .bovet-phone-card h3 { margin:0; font-family:inherit; font-size:14px; font-weight:600; line-height:1.5; }
 body .bovet-phone-number { margin:6px 0 16px; font-size:clamp(22px,6vw,28px); font-weight:650; line-height:1.35; letter-spacing:-.5px; white-space:nowrap; user-select:all; }
 body .bovet-phone-actions { display:none; gap:10px; }
 body .bovet-phone-actions a,body .bovet-phone-copy { display:flex; justify-content:center; align-items:center; min-height:48px; box-sizing:border-box; padding:10px 14px; border:1px solid #1e4058; border-radius:12px; background:#1e4058; color:white; text-decoration:none; text-align:center; font:600 15px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; cursor:pointer; }
 body .bovet-phone-actions .bovet-phone-sms { background:#fff; color:#1e4058; border-color:#c7d5df; }
 body .bovet-phone-copy { width:100%; }
 body .bovet-phone-actions a:focus-visible,body .bovet-phone-copy:focus-visible { outline:3px solid #4185b6; outline-offset:3px; }
}
@media screen and (max-width:800px) {
 body .bovet-phone-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 body .bovet-phone-copy { display:none; }
}
@media screen and (max-width:360px) {
 body .bovet-phone-card { padding:16px; }
}

@media screen {
 body .bovet-contact-channels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:stretch; }
 body .bovet-contact-channels .bovet-qr-card { display:flex; flex-direction:column; align-items:center; padding:12px 8px 8px; border:1px solid #e7ede9; border-radius:16px; margin:0; text-align:center; }
 body .bovet-contact-channels .bovet-qr-card h3 { margin:0 0 6px; font:600 15px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; }
 body .bovet-contact-channels .bovet-qr-enlarge { width:100%; max-width:150px; margin:auto; padding:0; border:0; border-radius:0; background:white; }
 body .bovet-contact-channels .bovet-qr-enlarge img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; border-radius:0; }
 body .bovet-contact-channels .bovet-contact-open { width:100%; box-sizing:border-box; min-height:44px; margin:8px 0 0; padding:7px 4px; border:0; border-radius:10px; font-size:13px; line-height:1.35; background:#eef5f1; color:#21583e; }
 body .bovet-contact-channels .bovet-qr-card.is-enlarged { grid-column:1/-1; }
 body .bovet-contact-channels .is-enlarged .bovet-qr-enlarge { max-width:280px; }
 body .bovet-contact-panel .bovet-qr-hint { margin:8px 0 2px; color:#636367; font-size:12px; line-height:1.5; text-align:center; }
}
