@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=Roboto:wght@400;600;700&family=Open+Sans:wght@400;600;700&family=Lato:wght@400;600;700&family=Montserrat:wght@400;600;700&family=Poppins:wght@400;600;700&family=Raleway:wght@400;600;700&family=Playfair+Display:wght@400;600;700&display=swap');
.landing-public{font-family:Inter,Arial,sans-serif;background:#101d2a;color:#f2f6f8;position:relative;overflow:hidden;min-height:100svh;padding:32px 20px;box-sizing:border-box}.landing-orb{position:absolute;width:600px;height:600px;top:-340px;left:calc(50% - 300px);border-radius:50%;background:#9dd7ce;filter:blur(150px);opacity:.18;pointer-events:none}.landing-card{position:relative;max-width:520px;margin:7vh auto 0;text-align:center;animation:landing-enter .45s ease-out}.landing-eyebrow{letter-spacing:.2em;font-size:11px;font-weight:700;color:#9dd7ce;margin-bottom:18px}.landing-card h1{font-size:clamp(30px,7vw,46px);line-height:1.15;margin:0 0 20px;overflow-wrap:anywhere}.landing-bio{color:#b8c6d1;line-height:1.7;white-space:pre-wrap}.landing-card section{margin-top:30px}.landing-card h2{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#b8c6d1}.landing-button{display:block;text-align:center;border:1px solid #36505f;border-radius:14px;padding:18px;margin:10px 0;background:#1c2d3c;color:#f2f6f8;text-decoration:none;font-weight:600;cursor:pointer;transition:transform .15s}.landing-button:hover{transform:translateY(-2px);background:#2c4652}.landing-card section:first-of-type .landing-button:first-child{background:#9dd7ce;color:#101d2a}.landing-card details p{overflow-wrap:anywhere;line-height:1.8}.landing-card footer{margin:40px 0 24px;font-size:13px;color:#b8c6d1}.landing-card footer a{color:inherit}.landing-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px}.landing-editor label{display:block;margin:18px 0}.landing-editor input,.landing-editor textarea{width:100%;box-sizing:border-box;font:inherit;padding:14px;border:1px solid #53616c;border-radius:10px;background:#1b2936;color:#f2f6f8}.landing-preview{position:sticky;top:110px;align-self:start}.landing-preview .landing-public{min-height:0;border-radius:22px;padding:28px 20px}.landing-preview .landing-card{margin:10px auto;animation:none}.landing-editor [hidden]{display:none!important}#page-link{overflow-wrap:anywhere}@keyframes landing-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(max-width:800px){.landing-editor{grid-template-columns:1fr}.landing-preview{position:static}.landing-card{margin-top:4vh}}@media(prefers-reduced-motion:reduce){.landing-card{animation:none}.landing-button{transition:none}}
#editor[hidden]{display:none!important}

.landing-public{--page:#101d2a;--ink:#f2f6f8;--muted:#b8c6d1;--accent:#9dd7ce;--accent-ink:#101d2a;--tile:#1c2d3c;--border:#36505f;background:var(--page);color:var(--ink)}
.color-midnight{--page:#111114;--ink:#fafafa;--muted:#bdbdc6;--accent:#ececf2;--accent-ink:#111114;--tile:#222228;--border:#414149}
.color-pearl{--page:#f1f3f4;--ink:#18232b;--muted:#55616c;--accent:#18232b;--accent-ink:#fff;--tile:#fff;--border:#d1d9df}
.color-forest{--page:#112b24;--ink:#f0f6e9;--muted:#bfcebf;--accent:#c4dda1;--accent-ink:#112b24;--tile:#234135;--border:#4b6554}
.color-rose{--page:#34222d;--ink:#fff1f5;--muted:#dbbec9;--accent:#edb9c8;--accent-ink:#34222d;--tile:#49323f;--border:#785669}
.color-sand{--page:#f3ede3;--ink:#3f332b;--muted:#736252;--accent:#79553a;--accent-ink:#fff;--tile:#fffaf2;--border:#d8c8b7}
.font-inter{font-family:Inter,Arial,sans-serif}.font-poppins{font-family:Poppins,Arial,sans-serif}.font-montserrat{font-family:Montserrat,Arial,sans-serif}.font-lato{font-family:Lato,Arial,sans-serif}.font-playfair{font-family:'Playfair Display',Georgia,serif}.font-serif{font-family:Georgia,serif}
.landing-orb{background:var(--accent)}.landing-eyebrow{color:var(--accent)}.landing-bio,.landing-card h2,.landing-card footer{color:var(--muted)}.landing-button{background:var(--tile);border-color:var(--border);color:var(--ink)}.landing-button:hover{background:var(--tile);filter:brightness(1.08)}.landing-card section:first-of-type .landing-button:first-child{background:var(--accent);color:var(--accent-ink)}
.landing-photo{display:block;width:104px;height:104px;object-fit:cover;border-radius:50%;margin:0 auto 22px;border:3px solid var(--border)}
.landing-banner{display:block;width:100%;height:190px;object-fit:cover;border-radius:22px 22px 0 0}
.layout-portrait .landing-photo{width:170px;height:210px;border-radius:85px 85px 24px 24px}
.layout-banner .landing-card,.layout-tiles .landing-card{background:var(--tile);border:1px solid var(--border);border-radius:24px;overflow:hidden}
.layout-banner .landing-content,.layout-tiles .landing-content{padding:28px}
.layout-banner .landing-banner+.landing-content:not(:has(.landing-logo)) .landing-photo,.layout-tiles .landing-banner+.landing-content:not(:has(.landing-logo)) .landing-photo{position:relative;margin-top:-76px;border:5px solid var(--tile)}
.layout-tiles .landing-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.layout-tiles .landing-button{height:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:86px;margin:0;padding:14px;overflow-wrap:anywhere}.layout-tiles .landing-links details{min-width:0}.layout-tiles .landing-links details[open]{grid-column:1/-1}
.landing-settings{border:1px solid #53616c;border-radius:16px;padding:20px;margin:24px 0}.landing-settings legend{padding:0 8px;font-weight:700}.landing-settings select{width:100%;padding:14px;border-radius:10px;background:#1b2936;color:#f2f6f8;font:inherit;border:1px solid #53616c}.landing-settings p{font-size:13px}
.landing-preview{max-height:calc(100svh - 130px);overflow:auto}.landing-preview .landing-public{min-height:0}.landing-preview .landing-card h1{font-size:32px}
@media(max-width:800px){.landing-preview{max-height:none;overflow:visible}}@media(max-width:360px){.layout-tiles .landing-links{grid-template-columns:1fr}}

/* Landing layouts share their markup, links, and saved content. */
.font-sans{font-family:Inter,Arial,sans-serif}.font-editorial{font-family:Georgia,'Times New Roman',serif}.font-classic{font-family:'Palatino Linotype','Book Antiqua',serif}.font-rounded{font-family:'Trebuchet MS',Arial,sans-serif}.font-roboto{font-family:Roboto,Arial,sans-serif}.font-opensans{font-family:'Open Sans',Arial,sans-serif}.font-raleway{font-family:Raleway,Arial,sans-serif}
.landing-public{container-type:inline-size}
.layout-minimal .landing-orb,.layout-outline .landing-orb,.layout-compact .landing-orb,.layout-editorial .landing-orb,.layout-framed .landing-orb{display:none}
.layout-minimal .landing-card{max-width:460px;text-align:left}.layout-minimal .landing-photo{width:72px;height:72px;margin-left:0}.layout-minimal .landing-button,.layout-minimal .landing-card section:first-of-type .landing-button:first-child{background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--border);border-radius:0;text-align:left;padding:20px 0;margin:0}.layout-minimal .landing-eyebrow{display:none}
.layout-outline .landing-card{max-width:460px}.layout-outline .landing-photo{width:88px;height:88px;padding:0;border:1px solid var(--accent)}.layout-outline .landing-button,.layout-outline .landing-card section:first-of-type .landing-button:first-child{background:transparent;color:var(--ink);border-radius:999px;border:1px solid var(--accent)}.layout-outline .landing-card h2{font-size:10px}
.layout-compact .landing-card{max-width:460px;text-align:left}.layout-compact .landing-identity{display:grid;grid-template-columns:auto 1fr;column-gap:20px;align-items:center}.layout-compact .landing-photo{width:64px;height:64px;grid-column:1;grid-row:1/5;margin:0}.layout-compact .landing-identity>:not(.landing-photo){grid-column:2}.layout-compact .landing-identity:not(:has(.landing-photo)){display:block}.layout-compact .landing-eyebrow{font-size:9px;margin:0 0 6px}.layout-compact .landing-card h1{font-size:26px;margin:0}.layout-compact .landing-bio{font-size:14px;margin:8px 0 0}.layout-compact .landing-button{padding:12px 16px;border-radius:8px;margin:7px 0;text-align:left}.layout-compact .landing-card section{margin-top:24px}
.layout-editorial .landing-card{text-align:left;max-width:560px}.layout-editorial .landing-photo{width:100%;height:220px;border-radius:2px;border:0;margin-bottom:28px}.layout-editorial .landing-eyebrow{border-top:2px solid var(--accent);padding-top:18px}.layout-editorial .landing-card h1{font-size:clamp(32px,8vw,52px);letter-spacing:-.04em}.layout-editorial .landing-button,.layout-editorial .landing-card section:first-of-type .landing-button:first-child{background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--border);border-radius:0;text-align:left;margin:0;padding:17px 0}.layout-editorial .landing-card h2{color:var(--accent)}
.layout-split .landing-card{max-width:900px;text-align:left}.layout-split .landing-photo{margin-left:0;border-radius:18px;width:120px;height:150px}.layout-split .landing-identity{padding:24px;background:var(--tile);border-radius:20px}.layout-split .landing-button{text-align:left;border-radius:10px}.layout-split .landing-card footer{text-align:center}
@container (min-width:650px){.layout-split .landing-content{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;align-items:start}.layout-split .landing-identity{grid-column:1;grid-row:1/5;position:sticky;top:24px}.layout-split .landing-content>section{grid-column:2;margin-top:0;margin-bottom:24px}.layout-split .landing-content>footer{grid-column:1/-1}}
.layout-framed .landing-card{max-width:480px;border:1px solid var(--accent);padding:12px;box-sizing:border-box}.layout-framed .landing-content{border:1px solid var(--border);padding:32px 24px}.layout-framed .landing-photo{width:86px;height:86px;border-radius:0;border:0}.layout-framed .landing-button{border-radius:0}.layout-framed .landing-card h1{font-size:32px}
.layout-ribbon .landing-card{max-width:520px;text-align:left}.layout-ribbon .landing-banner{height:130px;border-radius:16px}.layout-ribbon .landing-identity{border-left:4px solid var(--accent);padding-left:22px;margin:28px 0}.layout-ribbon .landing-photo{width:78px;height:78px;border-radius:14px;margin-left:0}.layout-ribbon .landing-button{border-radius:10px;text-align:left}.layout-ribbon .landing-card footer{text-align:center}
.layout-gallery .landing-card{max-width:580px}.layout-gallery .landing-banner{height:240px;border-radius:20px}.layout-gallery .landing-photo{width:116px;height:116px;border-radius:18px}.layout-gallery .landing-banner+.landing-content:not(:has(.landing-logo)) .landing-photo{position:relative;margin-top:-58px;border:5px solid var(--page)}.layout-gallery .landing-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.layout-gallery .landing-button{margin:0;min-height:100px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:16px;padding:16px}.layout-gallery .landing-links details[open]{grid-column:1/-1}
@media(max-width:380px){.layout-framed .landing-content{padding:24px 16px}.layout-gallery .landing-button{min-height:80px;font-size:14px}}

.color-onyx{--page:#000;--ink:#fff;--muted:#bbb;--accent:#dedede;--accent-ink:#000;--tile:#191d1e;--border:#333b3e}
.color-slate{--page:#263440;--ink:#f3f7fa;--muted:#bfccd6;--accent:#b9ccda;--accent-ink:#17232d;--tile:#354855;--border:#597080}
.color-cobalt{--page:#101f42;--ink:#f3f7ff;--muted:#b7c7e6;--accent:#9bbfff;--accent-ink:#101f42;--tile:#20365f;--border:#47628e}
.color-lavender{--page:#f0edf8;--ink:#302447;--muted:#6e6282;--accent:#69528b;--accent-ink:#fff;--tile:#faf8ff;--border:#cfc3df}
.color-terracotta{--page:#39261f;--ink:#fff3e9;--muted:#d8bbab;--accent:#ebb28f;--accent-ink:#39261f;--tile:#50362b;--border:#80604d}
.landing-public .landing-photo{overflow:hidden;box-sizing:border-box;width:var(--photoSize,104px);height:var(--photoSize,104px)}
.landing-public .landing-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photoX,50%) var(--photoY,50%);transform-origin:var(--photoX,50%) var(--photoY,50%);transform:scale(calc(var(--photoZoom,100) / 100))}
.landing-public .landing-banner{height:var(--coverSize,190px);overflow:hidden}
.landing-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--coverX,50%) var(--coverY,50%);transform-origin:var(--coverX,50%) var(--coverY,50%);transform:scale(calc(var(--coverZoom,100) / 100))}
.landing-logo{width:var(--brandSize,180px);max-width:100%;margin:24px auto;overflow:hidden}
.landing-logo img{display:block;width:100%;height:auto;transform:scale(calc(var(--brandZoom,100) / 100));transform-origin:var(--brandX,50%) var(--brandY,50%);object-position:var(--brandX,50%) var(--brandY,50%)}
.layout-compact .landing-identity>:not(.landing-photo){grid-column:2}.layout-compact .landing-identity:not(:has(.landing-photo)){display:block}
.layout-portrait .landing-photo{height:calc(var(--photoSize,104px) * 1.25)}
.layout-editorial .landing-photo{width:100%;height:var(--photoSize,220px)}
.layout-split .landing-logo{margin-left:0}
@container (min-width:650px){.layout-split .landing-logo{grid-column:1;grid-row:1}.layout-split .landing-content:has(.landing-logo) .landing-identity{grid-row:2/6}}
.landing-settings input[type=range]{padding:0;accent-color:#9dd7ce}.landing-settings output{float:right;font-size:12px}

.landing-preview-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.landing-preview-header>span{font-size:12px;letter-spacing:.08em}.landing-preview-header .button{font-size:12px;padding:12px}.existing-link-panel{padding:20px 0;border-top:1px solid #53616c;border-bottom:1px solid #53616c}.existing-link-row{margin:16px 0}.existing-link-row strong{display:block}.existing-link-row .button{margin:8px 8px 0 0}

.landing-share{margin-top:0;margin-bottom:24px}.landing-share h2{font-size:20px;line-height:1.3;letter-spacing:-.5px}.landing-share p{color:var(--muted);line-height:1.6}.landing-share .editor-actions{align-items:center}.landing-share .editor-actions .button{font-size:14px}

.landing-identity:empty{display:none}

/* Keep branding at the bottom of the page, within the selected layout. */
body.landing-public{display:flex;flex-direction:column}body.landing-public>.landing-card{display:flex;flex-direction:column;flex:1;width:100%;margin:0 auto;box-sizing:border-box}body.landing-public .landing-content{display:flex;flex-direction:column;flex:1}body.landing-public .landing-card footer{margin-top:auto;padding-top:40px;margin-bottom:0}
@container (min-width:650px){body.layout-split .landing-content{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;align-items:start}body.layout-split .landing-card footer{align-self:end}}

/* Isolate landing branding from the main website footer layout. */
.landing-card footer{display:block;text-align:center;padding:0;gap:0}.landing-card footer a{display:inline}

.existing-link-panel h2{font-size:20px;line-height:1.3;letter-spacing:-.5px}


/* Remove the browser default 8px body margin around public landing pages. */
body.landing-public{margin:0}

/* Keep the optional logo below the portrait in Compact, including photo-only pages. */
.layout-compact .landing-identity:has(.landing-logo){display:flex;flex-direction:column;align-items:flex-start}
.layout-compact .landing-identity .landing-logo{margin:20px 0}

/* Mobile landing pages occupy the full viewport; spacing belongs inside the content. */
@media (max-width: 640px) {
 body.landing-public{padding:0;min-height:100svh;min-height:100dvh;overflow-x:clip;overflow-y:visible}
 body.landing-public>.landing-card{width:100%;max-width:none;min-height:100svh;min-height:100dvh;margin:0;padding:0;border:0;border-radius:0;overflow:visible}
 body.landing-public .landing-banner{border-radius:0;flex-shrink:0}
 body.landing-public .landing-content{min-width:0;box-sizing:border-box;border:0;padding:24px 20px;padding-top:max(24px,env(safe-area-inset-top));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(24px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left));overflow-wrap:anywhere}
 body.landing-public .landing-photo{max-width:100%}
 body.landing-public .landing-links,body.landing-public .landing-button{min-width:0;overflow-wrap:anywhere}
}


/* Logo spacing applies to every placement, including a banner overlay. */
.landing-public .landing-content .landing-logo{margin-bottom:calc(24px + var(--brandBottom,0px))}
.landing-public .landing-banner{position:relative}
.landing-public .landing-banner>.landing-logo{position:absolute;z-index:1;left:50%;bottom:calc(16px + var(--brandBottom,0px));transform:translateX(-50%);margin:0;max-width:calc(100% - 32px)}
.landing-public .landing-banner>.landing-logo img{height:auto;object-fit:contain}

/* A short, nonblocking introduction on published landing pages. CSS-only so a
   slow video, missing image, or script failure can never trap the visitor. */
.landing-intro{position:absolute;z-index:100;top:0;left:0;width:100%;height:100vh;height:100dvh;display:grid;place-items:center;box-sizing:border-box;padding:32px;background:var(--page);color:var(--accent);pointer-events:none;animation:landing-intro-out .4s ease .75s both}
.landing-intro-mark{display:grid;justify-items:center;gap:24px;width:min(100%,320px);animation:landing-intro-in .55s ease-out both}
.landing-intro-mark>img{display:block;max-width:220px;max-height:120px;width:auto;height:auto;object-fit:contain}
.landing-intro-seal{display:grid;place-items:center;width:90px;height:90px;border:1px solid var(--accent);border-radius:50%;font-size:30px;letter-spacing:-.04em}
.landing-intro-name{font-size:13px;letter-spacing:.12em;text-align:center;overflow-wrap:anywhere;max-width:100%}
.landing-intro-line{width:64px;height:2px;background:var(--accent);transform-origin:center;animation:landing-intro-progress .75s ease both}
@keyframes landing-intro-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes landing-intro-progress{from{transform:scaleX(0);opacity:.3}to{transform:scaleX(1);opacity:1}}
@keyframes landing-intro-out{from{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.landing-intro{display:none}}

/* Space below either a banner photo or video. */
.landing-public .landing-banner{margin-bottom:var(--coverBottom,0px)}

/* Classic portraits straddle the lower edge of photo and video banners. */
.layout-classic .landing-card:has(>.landing-banner) .landing-photo{position:absolute;z-index:2;top:calc(var(--coverSize,200px) - var(--photoSize,76px) / 2);left:50%;transform:translateX(-50%);margin:0;border:4px solid var(--page)}
.layout-classic .landing-card>.landing-banner{flex-shrink:0}
.layout-classic .landing-card:has(>.landing-banner)>.landing-content:has(.landing-photo){padding-top:calc(var(--photoSize,76px) / 2 + 24px)}

/* Move the portrait down while keeping following content clear. */
.landing-public .landing-photo{margin-top:var(--photoBottom,0px)}
.layout-banner .landing-banner+.landing-content:not(:has(.landing-logo)) .landing-photo,.layout-tiles .landing-banner+.landing-content:not(:has(.landing-logo)) .landing-photo{margin-top:calc(-76px + var(--photoBottom,0px))}
.layout-gallery .landing-banner+.landing-content:not(:has(.landing-logo)) .landing-photo{margin-top:calc(-58px + var(--photoBottom,0px))}
.layout-classic .landing-card:has(>.landing-banner) .landing-photo{top:calc(var(--coverSize,200px) - var(--photoSize,76px) / 2 + var(--photoBottom,0px));margin-top:0}
.layout-classic .landing-card:has(>.landing-banner)>.landing-content:has(.landing-photo){padding-top:calc(var(--photoSize,76px) / 2 + 24px + var(--photoBottom,0px))}

/* Keep links close to a trailing company logo; its slider supplies extra space. */
.landing-public .landing-identity>.landing-logo:last-child{margin-bottom:calc(8px + var(--brandBottom,0px))}
.landing-public .landing-identity:has(>.landing-logo:last-child)+section{margin-top:0}
.landing-public .landing-identity:has(>.landing-logo:last-child)+section>h2{margin-top:8px}
