/* FORMA Plastic Surgery · an independent concept with local assets. */
@font-face { font-family:'Forma Sans'; src:url('../fonts/dm-sans-regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:'Forma Sans'; src:url('../fonts/dm-sans-medium.ttf') format('truetype'); font-weight:500; font-display:swap; }
@font-face { font-family:'Forma Sans'; src:url('../fonts/dm-sans-semibold.ttf') format('truetype'); font-weight:600; font-display:swap; }
@font-face { font-family:'Forma Sans'; src:url('../fonts/dm-sans-bold.ttf') format('truetype'); font-weight:700; font-display:swap; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:116px; }
.fo-site { --fo-ink:#132e46; --fo-blue:#3366e8; --fo-ice:#eef4fa; --fo-warm:#efe9e1; --fo-lilac:#e2dffa; --fo-muted:#536676; --fo-line:#d7e1e9; margin:0; background:#fff; color:var(--fo-ink); font:400 18px/1.7 'Forma Sans',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.fo-site [hidden] { display:none!important; }
:where(.fo-site) h1,:where(.fo-site) h2,:where(.fo-site) h3,:where(.fo-site) h4 { margin:0 0 24px; color:var(--fo-ink); font-weight:500; letter-spacing:-.048em; line-height:1.1; text-wrap:balance; }
:where(.fo-site) h1 { font-size:clamp(44px,5vw,72px); }
:where(.fo-site) h2 { font-size:clamp(34px,3.5vw,50px); }
:where(.fo-site) h3 { font-size:26px; line-height:1.2; letter-spacing:-.03em; }
:where(.fo-site) p { margin:0 0 24px; color:var(--fo-muted); }
:where(.fo-site) em { color:var(--fo-blue); font-style:normal; }
:where(.fo-site) a { color:inherit; text-underline-offset:5px; }
:where(.fo-site) img { display:block; max-width:100%; height:auto; }
:where(.fo-site) figure { margin:0; }
:where(.fo-site) button,:where(.fo-site) input,:where(.fo-site) select,:where(.fo-site) textarea { font:inherit; }
:where(.fo-site) button { cursor:pointer; }
:where(.fo-site) button:disabled { cursor:default; opacity:.55; }
:where(.fo-site) :focus-visible { outline:3px solid #85a3ff; outline-offset:4px; }
:where(.fo-site) ::selection { background:var(--fo-lilac); color:var(--fo-ink); }
.fo-container { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.fo-section { padding:100px 0; }
.fo-eyebrow { margin:0 0 22px; color:var(--fo-blue); font-size:12px; font-weight:700; line-height:1.6; letter-spacing:.12em; text-transform:uppercase; }
.fo-btn,.fo-btn-outline { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:56px; padding:15px 24px; border:1px solid var(--fo-blue); border-radius:6px; background:var(--fo-blue); color:#fff; text-decoration:none; font-size:16px; font-weight:600; line-height:1.45; transition:background .18s,transform .18s; }
.fo-btn:hover { background:#214fca; transform:translateY(-2px); }
.fo-btn-outline { background:transparent; color:var(--fo-ink); border-color:#a9bbc9; }
.fo-btn-outline:hover { background:var(--fo-ice); }
.fo-btn-white { background:#fff; border-color:#fff; color:var(--fo-ink); }
.fo-btn-white:hover { background:#eaf0ff; }
.fo-btn [aria-hidden] { font-size:23px; font-weight:400; line-height:1; }
.fo-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px 28px; }
.fo-text-link { display:inline-flex; align-items:center; gap:22px; color:var(--fo-blue); font-size:16px; font-weight:600; text-decoration:none; }
.fo-text-link:hover { text-decoration:underline; }
.fo-skip { position:fixed; top:-100px; left:12px; padding:12px 18px; background:#fff; color:var(--fo-ink); z-index:100; }
.fo-skip:focus { top:8px; }
.fo-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Consistent navigation and visible concept attribution. */
.fo-concept-bar { background:var(--fo-ice); border-bottom:1px solid var(--fo-line); font-size:12px; line-height:1.5; }
.fo-concept-bar > div { min-height:34px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.fo-concept-bar a { color:#244abc; text-decoration:none; }
.fo-header { position:sticky; top:0; z-index:40; background:#fffffffa; border-bottom:1px solid var(--fo-line); backdrop-filter:blur(14px); }
.fo-header-inner { min-height:100px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.fo-brand { display:inline-flex; align-items:center; flex-shrink:0; gap:12px; text-decoration:none; }
.fo-brand > img { width:42px; height:42px; }
.fo-brand > span { font-size:32px; line-height:1; letter-spacing:.04em; font-weight:600; }
.fo-brand small { display:block; margin-top:8px; font-size:12px; line-height:1; letter-spacing:.12em; font-weight:500; }
.fo-navigation { display:flex; align-items:center; gap:29px; }
.fo-navigation > a { text-decoration:none; font-size:15px; font-weight:500; white-space:nowrap; }
.fo-navigation > a:not(.fo-btn):hover,.fo-navigation > a[aria-current='page'] { color:var(--fo-blue); }
.fo-navigation .fo-btn { margin-left:7px; font-weight:600; }
.fo-menu-toggle { display:none; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:8px 14px; border:1px solid var(--fo-line); border-radius:5px; background:#fff; color:var(--fo-ink); font-size:14px; }
.fo-mobile-bar { display:none; }

/* A strong clinical identity and clear paths into the consultation. */
.fo-home-hero { background:var(--fo-ink); color:#fff; }
.fo-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:56px; align-items:center; padding-top:48px; }
.fo-hero-copy { padding-block:28px; }
.fo-hero-copy .fo-eyebrow { color:#cedcff; display:flex; align-items:center; gap:13px; }
.fo-hero-copy .fo-eyebrow > span { font-size:28px; font-weight:400; }
.fo-hero-copy h1 { font-size:clamp(58px,5.3vw,76px); color:#fff; line-height:1.05; letter-spacing:-.05em; margin-bottom:32px; text-wrap:initial; }
.fo-hero-copy h1 em { color:#b9cafd; }
.fo-hero-intro { color:#d1dce6; max-width:540px; margin-bottom:36px; font-size:20px; line-height:1.65; }
.fo-hero-link { font-size:16px; font-weight:500; text-decoration:none; display:flex; align-items:center; gap:24px; }
.fo-hero-link:hover { text-decoration:underline; }
.fo-hero-footnote { display:flex; align-items:center; gap:22px; margin-top:45px; }
.fo-hero-footnote p { color:#b8cada; font-size:14px; margin:0; line-height:1.65; }
.fo-hero-line { width:44px; height:2px; background:#7294f0; }
.fo-hero-visual { position:relative; height:630px; overflow:hidden; border-radius:4px; }
.fo-hero-visual > img { width:100%; height:100%; object-fit:cover; object-position:center 35%; }
.fo-hero-visual figcaption { position:absolute; top:17px; left:17px; right:17px; width:fit-content; padding:4px 9px; border-radius:3px; background:#fffffff0; color:var(--fo-ink); font-size:12px; line-height:1.5; }
.fo-portrait-label { position:absolute; left:24px; bottom:25px; display:flex; align-items:center; gap:19px; padding:18px 24px; border-left:3px solid #7597f2; background:#ffffffed; color:var(--fo-ink); }
.fo-portrait-label > span { font-size:38px; color:var(--fo-blue); }
.fo-portrait-label p { color:var(--fo-ink); font-size:18px; line-height:1.5; margin:0; }
.fo-portrait-label strong { font-weight:600; }
.fo-hero-bottom { margin-top:34px; padding:26px 0; border-top:1px solid #ffffff26; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#c3d3e0; font-size:13px; }
.fo-hero-bottom > span:first-child { color:#fff; font-size:15px; font-weight:500; }
.fo-hero-bottom a { color:#fff; text-decoration:none; }
.fo-hero-bottom a span { padding-left:15px; }
.fo-start-strip { background:var(--fo-ice); border-bottom:1px solid var(--fo-line); }
.fo-start-grid { display:grid; grid-template-columns:1.15fr repeat(3,1fr); align-items:stretch; }
.fo-start-grid > div { padding:32px 20px 32px 0; }
.fo-start-grid .fo-eyebrow { font-size:12px; letter-spacing:.07em; margin-bottom:10px; }
.fo-start-grid h2 { font-size:26px; margin:0; line-height:1.2; }
.fo-start-grid > a { display:flex; align-items:center; gap:15px; padding:28px 22px; border-left:1px solid var(--fo-line); text-decoration:none; transition:background .15s; }
.fo-start-grid > a:hover { background:#e4ecf6; }
.fo-start-grid > a > span:first-child { align-self:flex-start; font-size:12px; color:var(--fo-blue); font-weight:700; margin-top:3px; }
.fo-start-grid strong { display:block; font-size:18px; font-weight:600; line-height:1.4; margin-bottom:8px; }
.fo-start-grid small { display:block; font-size:13px; line-height:1.55; color:var(--fo-muted); }
.fo-start-grid > a > span:last-child { margin-left:auto; font-size:21px; }
.fo-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:70px; margin-bottom:46px; }
.fo-section-heading > div { flex:1; }
.fo-section-heading h2 { margin-bottom:0; }
.fo-section-heading > p { max-width:420px; margin:0; font-size:18px; }
.fo-home-categories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.fo-category { padding:30px; border-radius:8px; background:var(--fo-ice); min-width:0; }
.fo-category-breast { background:var(--fo-warm); }
.fo-category-body { background:var(--fo-lilac); }
.fo-category-top { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.07em; }
.fo-category-top span:last-child { font-size:26px; font-weight:400; }
.fo-category-art { margin:20px -6px 25px; height:190px; }
.fo-category-art svg { display:block; width:100%; height:100%; fill:none; stroke:var(--fo-ink); stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.fo-category-art .fo-art-guide { stroke-width:1; stroke:#7890a3; stroke-dasharray:3 6; opacity:.65; }
.fo-category h3 { font-size:31px; margin-bottom:18px; }
.fo-category p { font-size:15px; min-height:51px; margin-bottom:25px; }
.fo-category .fo-text-link { font-size:15px; color:var(--fo-ink); gap:12px; }
.fo-section-end { margin-top:28px; display:flex; align-items:flex-start; justify-content:space-between; gap:30px; }
.fo-section-end .fo-note { max-width:700px; }
.fo-section-end > a { white-space:nowrap; }
.fo-home-conversation { background:var(--fo-ice); padding:90px 0; }
.fo-conversation-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:80px; align-items:center; }
.fo-conversation-grid figure { position:relative; height:580px; }
.fo-conversation-grid figure > img { width:100%; height:100%; object-fit:cover; border-radius:8px; }
.fo-conversation-grid figcaption { position:absolute; bottom:0; left:0; right:0; border-radius:0 0 8px 8px; background:#132e46e0; padding:14px 20px; font-size:12px; line-height:1.6; color:#fff; }
.fo-conversation-copy .fo-check-list { margin-bottom:34px; }
.fo-check-list { list-style:none; padding:0; margin:25px 0; }
.fo-check-list li { display:flex; align-items:baseline; gap:14px; padding:11px 0; color:var(--fo-ink); font-size:16px; }
.fo-check-list li::before { content:'↗'; color:var(--fo-blue); font-size:19px; }
.fo-resource-grid { display:grid; grid-template-columns:1.45fr 1fr 1fr; gap:22px; }
.fo-resource { display:flex; flex-direction:column; padding:30px; border:1px solid var(--fo-line); border-radius:8px; background:#fff; text-decoration:none; transition:border-color .2s; min-width:0; }
.fo-resource:hover { border-color:var(--fo-blue); }
.fo-resource-large { background:var(--fo-ice); border-color:var(--fo-ice); }
.fo-resource-top { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:12px; font-weight:600; line-height:1.5; }
.fo-resource-top > span:last-child { font-size:25px; font-weight:400; }
.fo-resource h3 { font-size:29px; margin-bottom:20px; }
.fo-resource p { font-size:16px; line-height:1.65; margin-bottom:32px; }
.fo-resource-link { margin-top:auto; font-size:15px; font-weight:600; color:var(--fo-blue); }
.fo-resource-symbol { height:145px; display:flex; align-items:center; color:#869baf; font-size:58px; font-weight:400; }
.fo-result-frames { height:145px; display:flex; align-items:center; gap:10px; }
.fo-result-frames span { display:flex; width:32%; aspect-ratio:1; align-items:center; justify-content:center; border:1px solid #9cabb9; border-radius:4px; font-size:12px; color:#4c6073; }
.fo-result-frames span:nth-child(2) { transform:translateY(8px); background:#dce6f1; }
.fo-home-steps { background:#fafbfc; border-block:1px solid var(--fo-line); }
.fo-step-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:55px; margin:60px 0 35px; }
.fo-step-grid article { border-top:1px solid #b9cad9; padding-top:25px; }
.fo-step-grid article > span { display:inline-flex; justify-content:center; align-items:center; width:45px; height:45px; margin-bottom:28px; border-radius:50%; border:1px solid #b9cad9; color:var(--fo-blue); font-size:14px; }
.fo-step-grid h3 { font-size:25px; }
.fo-step-grid p { font-size:17px; }
.fo-home-cta { background:var(--fo-blue); padding:80px 0; color:#fff; }
.fo-cta-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; align-items:center; }
.fo-home-cta .fo-eyebrow { color:#dae4ff; }
.fo-home-cta h2 { color:#fff; font-size:clamp(52px,6vw,86px); margin-bottom:0; letter-spacing:-.045em; }
.fo-home-cta h2 em { color:#d7e3ff; }
.fo-home-cta p:not(.fo-eyebrow) { color:#fff; font-size:20px; max-width:460px; }
.fo-cta-secondary { display:block; margin-top:21px; font-size:16px; text-decoration:none; }
.fo-cta-note { display:block; margin-top:23px; color:#e1eaff; font-size:12px; }

/* Shared components for the procedure library and consultation tools. */
.fo-page-hero { background:var(--fo-ice); padding:70px 0 75px; border-bottom:1px solid var(--fo-line); }
.fo-page-hero h1 { max-width:1000px; }
.fo-page-hero p:not(.fo-eyebrow) { max-width:800px; font-size:20px; margin-bottom:0; }
.fo-page-hero .fo-actions { margin-top:30px; }
.fo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.fo-card { padding:32px; border:1px solid var(--fo-line); border-radius:8px; background:#fff; min-width:0; }
.fo-card p:last-child { margin-bottom:0; }
.fo-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; align-items:start; }
.fo-form { display:grid; gap:22px; }
.fo-field { display:flex; flex-direction:column; gap:9px; color:var(--fo-ink); font-size:16px; font-weight:500; margin-bottom:22px; }
.fo-field input,.fo-field select,.fo-field textarea { display:block; width:100%; min-width:0; min-height:54px; border:1px solid #aebecb; border-radius:5px; background:#fff; color:var(--fo-ink); padding:12px 14px; font-size:16px; font-weight:400; line-height:1.5; }
.fo-field textarea { min-height:135px; resize:vertical; }
.fo-field small { font-size:12px; color:var(--fo-muted); font-weight:400; }
.fo-site fieldset { min-width:0; margin:0 0 24px; padding:0; border:0; }
.fo-site legend { margin-bottom:16px; font-size:16px; font-weight:600; color:var(--fo-ink); }
.fo-note { font-size:13px; color:var(--fo-muted); line-height:1.7; }
.fo-tags { display:flex; flex-wrap:wrap; gap:9px; }
.fo-tags > * { padding:5px 10px; border-radius:4px; background:var(--fo-ice); font-size:13px; }
.fo-callout { padding:38px; background:var(--fo-ice); border-radius:8px; border-left:3px solid var(--fo-blue); }
.fo-callout h2 { font-size:34px; }
.fo-callout p:last-child { margin-bottom:0; }
.fo-faq details { border-bottom:1px solid var(--fo-line); }
.fo-faq details:first-child { border-top:1px solid var(--fo-line); }
.fo-faq summary { list-style:none; cursor:pointer; display:flex; align-items:baseline; justify-content:space-between; gap:24px; padding:24px 0; color:var(--fo-ink); font-size:19px; line-height:1.4; font-weight:500; }
.fo-faq summary::-webkit-details-marker { display:none; }
.fo-faq summary::after { content:'+'; flex-shrink:0; font-weight:400; font-size:25px; color:var(--fo-blue); }
.fo-faq details[open] summary::after { content:'−'; }
.fo-faq details p { margin:0 0 25px; font-size:17px; line-height:1.7; }
.fo-prose { max-width:860px; }
.fo-prose h2 { margin-top:45px; font-size:32px; }
.fo-prose ul { padding-left:22px; color:var(--fo-muted); }

.fo-footer { background:var(--fo-ink); color:#fff; }
.fo-footer-main { display:grid; grid-template-columns:1.2fr .8fr .85fr 1fr; gap:48px; padding-top:76px; padding-bottom:55px; }
.fo-footer .fo-brand { color:#fff; }
.fo-footer-intro p { margin-top:27px; color:#cbd8e3; font-size:17px; }
.fo-footer h2 { color:#fff; font-size:16px; line-height:1.4; font-weight:600; letter-spacing:0; margin-bottom:22px; }
.fo-footer-main > div > a:not(.fo-brand):not(.fo-btn):not(.fo-text-link) { display:block; margin-bottom:13px; color:#cbd8e3; font-size:14px; line-height:1.5; text-decoration:none; }
.fo-footer-main > div > a:hover { text-decoration:underline; }
.fo-footer .fo-text-link { font-size:14px; color:#b9cafd; }
.fo-footer .fo-eyebrow { color:#afc6ff; margin-bottom:17px; }
.fo-footer-agency { border-left:1px solid #ffffff26; padding-left:30px; }
.fo-footer-agency h2 { font-size:25px; font-weight:500; letter-spacing:-.025em; }
.fo-footer-agency .fo-btn { font-size:14px; padding-inline:18px; min-height:52px; }
.fo-footer-disclosure { padding-top:25px; padding-bottom:20px; border-top:1px solid #ffffff26; }
.fo-footer-disclosure p { max-width:1140px; margin:0; color:#b7c9d7; font-size:12px; line-height:1.8; }
.fo-footer-bottom { padding-top:18px; padding-bottom:25px; display:flex; justify-content:space-between; gap:24px; color:#b7c9d7; font-size:12px; }
.fo-footer-bottom > div { display:flex; flex-wrap:wrap; gap:24px; }
.fo-footer-bottom a { text-decoration:none; }

@media(max-width:1200px) {
    .fo-navigation { gap:22px; }
    .fo-hero-grid { gap:35px; }
    .fo-hero-copy h1 { font-size:66px; }
    .fo-hero-copy .fo-actions { gap:22px; }
    .fo-start-grid { grid-template-columns:1fr 1fr; }
    .fo-start-grid > div,.fo-start-grid > a { padding:28px; }
    .fo-start-grid > a:nth-child(3) { border-left:0; border-top:1px solid var(--fo-line); }
    .fo-start-grid > a:nth-child(4) { border-top:1px solid var(--fo-line); }
    .fo-conversation-grid,.fo-split { gap:48px; }
    .fo-resource-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .fo-resource { padding:24px; }
    .fo-result-frames { gap:5px; }
    .fo-result-frames span { font-size:12px; }
    .fo-footer-main { gap:30px; }
}
@media(max-width:1100px) {
    .fo-container { width:calc(100% - 64px); }
    .fo-header-inner { min-height:87px; }
    .fo-menu-toggle { display:inline-flex; }
    .fo-navigation { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; padding:12px 32px 24px; background:#fff; border-bottom:1px solid var(--fo-line); box-shadow:0 14px 22px #132e4610; max-height:calc(100dvh - 90px); overflow-y:auto; }
    .fo-navigation.is-open { display:flex; }
    .fo-navigation > a { padding:15px 0; border-bottom:1px solid var(--fo-line); font-size:17px; }
    .fo-navigation > .fo-btn { margin:16px 0 0; padding:15px 22px; border:0; }
    .fo-hero-grid { grid-template-columns:1fr 1fr; gap:34px; }
    .fo-hero-copy h1 { font-size:60px; }
    .fo-hero-intro { font-size:18px; }
    .fo-hero-visual { height:630px; }
    .fo-hero-bottom > span:nth-child(2) { display:none; }
    .fo-section { padding:80px 0; }
    .fo-section-heading { gap:40px; }
    .fo-section-heading > p { max-width:350px; }
    .fo-category { padding:24px; }
    .fo-category h3 { font-size:28px; }
    .fo-home-categories { gap:18px; }
    .fo-category .fo-text-link { gap:8px; font-size:14px; }
    .fo-conversation-grid { gap:40px; }
    .fo-conversation-grid figure { height:560px; }
    .fo-resource h3 { font-size:26px; }
    .fo-step-grid { gap:30px; }
    .fo-footer-main { grid-template-columns:1fr 1fr; gap:50px; }
    .fo-footer-agency { border:0; padding:0; }
}
@media(max-width:800px) {
    .fo-container { width:calc(100% - 48px); }
    .fo-section { padding:65px 0; }
    .fo-concept-bar > div { padding-block:7px; }
    .fo-concept-bar a { display:none; }
    .fo-hero-grid { grid-template-columns:1fr; gap:28px; padding-top:34px; }
    .fo-hero-copy { padding:0; }
    .fo-hero-copy h1 { font-size:clamp(50px,8.5vw,70px); max-width:670px; }
    .fo-hero-intro { max-width:620px; font-size:20px; }
    .fo-hero-footnote { margin-top:30px; }
    .fo-hero-visual { width:100%; height:620px; }
    .fo-hero-visual > img { object-position:center 30%; }
    .fo-hero-bottom { margin-top:25px; padding:22px 0; }
    .fo-start-grid > div,.fo-start-grid > a { padding:25px 18px; }
    .fo-start-grid > div { padding-left:0; }
    .fo-section-heading { flex-direction:column; align-items:flex-start; gap:25px; margin-bottom:32px; }
    .fo-section-heading > p { max-width:630px; }
    .fo-home-categories { grid-template-columns:1fr; }
    .fo-category { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; padding:30px; }
    .fo-category-top { grid-column:1/-1; }
    .fo-category-art { grid-column:2; grid-row:2/5; height:200px; margin:18px 0 0; }
    .fo-category h3 { margin-top:22px; }
    .fo-category p { min-height:0; }
    .fo-category .fo-text-link { font-size:15px; }
    .fo-section-end { flex-direction:column; gap:12px; }
    .fo-section-end .fo-note { margin-bottom:0; }
    .fo-home-conversation { padding:60px 0; }
    .fo-conversation-grid { grid-template-columns:1fr; gap:38px; }
    .fo-conversation-grid figure { height:auto; }
    .fo-conversation-grid figure > img { aspect-ratio:4/3; }
    .fo-resource-grid { grid-template-columns:1fr 1fr; }
    .fo-resource-large { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; column-gap:30px; }
    .fo-resource-large .fo-resource-top { grid-column:1/-1; }
    .fo-result-frames { grid-row:2/5; grid-column:2; height:100%; }
    .fo-resource-large h3 { margin-top:30px; }
    .fo-step-grid { grid-template-columns:1fr; gap:20px; margin-top:35px; }
    .fo-step-grid article { position:relative; padding-left:70px; }
    .fo-step-grid article > span { position:absolute; left:0; top:25px; }
    .fo-step-grid h3 { margin-bottom:16px; }
    .fo-step-grid p { max-width:550px; }
    .fo-home-cta { padding:65px 0; }
    .fo-cta-grid { grid-template-columns:1fr; gap:35px; }
    .fo-home-cta p:not(.fo-eyebrow) { max-width:630px; }
    .fo-home-cta h2 { font-size:70px; }
    .fo-split { grid-template-columns:1fr; gap:38px; }
    .fo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .fo-page-hero { padding:50px 0; }
    .fo-page-hero h1 { font-size:clamp(40px,6vw,54px); }
    .fo-footer-main { padding-top:60px; }
    .fo-footer-bottom { padding-bottom:95px; }
    .fo-mobile-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; position:fixed; bottom:0; left:0; right:0; z-index:45; padding:12px 24px max(12px,env(safe-area-inset-bottom)); background:#fffffffa; border-top:1px solid var(--fo-line); box-shadow:0 -4px 20px #132e4609; }
    .fo-mobile-bar > a:not(.fo-btn) { color:var(--fo-ink); text-decoration:none; font-size:14px; line-height:1.3; }
    .fo-mobile-bar > .fo-btn { min-height:46px; padding:11px 17px; font-size:14px; }
}
@media(max-width:500px) {
    .fo-container { width:calc(100% - 40px); }
    .fo-header-inner { min-height:80px; gap:18px; }
    .fo-brand > img { width:36px; height:36px; }
    .fo-brand { gap:9px; }
    .fo-brand > span { font-size:28px; }
    .fo-brand small { font-size:12px; letter-spacing:.05em; margin-top:7px; }
    .fo-menu-toggle { font-size:13px; gap:8px; padding:8px 11px; }
    .fo-navigation { padding-inline:20px; }
    .fo-hero-copy .fo-eyebrow { font-size:12px; gap:10px; letter-spacing:.06em; margin-bottom:20px; }
    .fo-hero-copy h1 { font-size:48px; margin-bottom:27px; }
    .fo-hero-intro { font-size:18px; }
    .fo-hero-copy .fo-actions { gap:23px; align-items:flex-start; flex-direction:column; }
    .fo-hero-footnote { margin-top:30px; }
    .fo-hero-visual { height:470px; }
    .fo-hero-visual figcaption { top:12px; left:12px; right:12px; font-size:12px; }
    .fo-portrait-label { left:16px; bottom:16px; padding:14px 18px; gap:16px; }
    .fo-portrait-label p { font-size:16px; }
    .fo-hero-bottom { flex-wrap:wrap; gap:14px; font-size:12px; }
    .fo-hero-bottom > span:first-child { font-size:14px; }
    .fo-start-grid { grid-template-columns:1fr; }
    .fo-start-grid > div { padding:28px 0; }
    .fo-start-grid h2 br { display:none; }
    .fo-start-grid > a { padding:23px 0; border:0; border-top:1px solid var(--fo-line); }
    .fo-start-grid > a > span:first-child { margin-top:2px; }
    .fo-start-grid strong { font-size:19px; margin-bottom:3px; }
    .fo-start-grid small { font-size:14px; }
    .fo-category { display:block; padding:25px; }
    .fo-category-art { height:180px; margin:12px 0 23px; }
    .fo-category h3 { font-size:31px; margin-top:0; }
    .fo-category p { font-size:16px; margin-bottom:22px; }
    .fo-resource-grid,.fo-resource-large { display:flex; flex-direction:column; }
    .fo-resource { padding:28px; }
    .fo-resource-large h3 { margin-top:0; }
    .fo-result-frames { height:125px; gap:12px; }
    .fo-resource-symbol { height:115px; }
    .fo-resource h3 { font-size:29px; }
    .fo-conversation-grid figcaption { font-size:12px; padding:10px 14px; }
    .fo-conversation-grid figure > img { aspect-ratio:1; }
    .fo-step-grid { gap:10px; }
    .fo-step-grid article { padding-left:62px; }
    .fo-step-grid h3 { font-size:24px; }
    .fo-home-cta h2 { font-size:64px; }
    .fo-home-cta p:not(.fo-eyebrow) { font-size:18px; }
    .fo-page-hero h1 { font-size:40px; overflow-wrap:anywhere; }
    .fo-page-hero p:not(.fo-eyebrow) { font-size:18px; }
    .fo-grid { grid-template-columns:1fr; }
    .fo-card { padding:26px; }
    .fo-callout { padding:26px; }
    .fo-faq summary { font-size:18px; padding:22px 0; gap:18px; }
    .fo-btn { gap:18px; padding-inline:20px; font-size:15px; }
    .fo-footer-main { grid-template-columns:1fr 1fr; gap:35px 20px; padding-bottom:40px; }
    .fo-footer-intro,.fo-footer-agency { grid-column:1/-1; }
    .fo-footer-intro p { margin-top:22px; }
    .fo-footer h2 { font-size:15px; }
    .fo-footer-agency h2 { font-size:28px; }
    .fo-footer-bottom { flex-direction:column; gap:16px; }
    .fo-footer-bottom > div { gap:20px; }
    .fo-mobile-bar { padding:11px 15px max(11px,env(safe-area-inset-bottom)); gap:10px; }
    .fo-mobile-bar > a:not(.fo-btn) { font-size:13px; max-width:110px; }
    .fo-mobile-bar > .fo-btn { padding:11px 13px; font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
