/* Coastal's public website only. Loaded by includes/public-theme.php. */
@font-face{font-family:Coastal Inter;src:url('./fonts/inter-normal-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Coastal Inter;src:url('./fonts/inter-normal-600.ttf') format('truetype');font-style:normal;font-weight:600 900;font-display:swap}
html:root{
  --bg:#061b26;--bg-soft:#0b2530;--bg-panel:#102b35;--bg-panel-2:#17353e;
  --text:#e3eae2;--white:#f1f1e7;--muted:#a6bdbb;--muted-2:#92adad;
  --line:rgba(184,210,202,.2);--line-strong:rgba(221,188,122,.4);
  --blue-1:#ddbc7a;--blue-2:#f1d69c;--blue-3:#c2a164;--blue-4:#eee3c3;--blue-5:#28565b;
  --gold:#ddbc7a;--blue:#ddbc7a;--aqua:#72d6d2;--wave:#428c91;
  --radius:10px;--shadow:0 22px 70px #02080d55;
  background:#061b26;scroll-behavior:smooth;scroll-padding-top:100px;
}
html body{margin:0;background:transparent!important;color:var(--text);font-family:'Coastal Inter',Inter,system-ui,sans-serif;padding-top:92px;overflow-x:clip}
body .dark-bg{display:none}
body .site-layer{position:relative;z-index:auto!important;background:transparent!important;isolation:auto}
body main,body .page-wrap,body .about-hero,body .site-layer>.section,body>.portfolioV4{position:relative;z-index:1}
body h1,body h2,body h3,body .headline{font-family:'Coastal Inter',Inter,system-ui,sans-serif;letter-spacing:-.055em}
body :is(.accent,.hero-accent,.contact-title .accent,.headline .accent){background:none!important;color:var(--gold)!important;-webkit-text-fill-color:currentColor!important}
body a{color:inherit}body a:hover{color:var(--gold)}
body :focus-visible{outline:2px solid var(--aqua)!important;outline-offset:5px}
body ::selection{color:#061b26;background:#ddbc7a}
coastal-compass{--coastal-controls-layer:100;--coastal-control-right:30px;--coastal-control-bottom:18px}
coastal-compass::part(motion-control){border:0;background:#061b26aa;padding:10px 12px;font-size:9px;letter-spacing:.1em}
.compass-static-poster{position:fixed;right:0;top:10vh;height:80vh;width:65vw;object-fit:contain;opacity:.4;pointer-events:none;z-index:0}
.compass-frame{position:fixed;bottom:55px;left:30px;right:30px;border-top:1px solid #b8d2ca24;pointer-events:none;z-index:4}
.compass-skip{position:fixed;top:-100px;left:25px;z-index:1000000;padding:12px 20px;background:var(--gold);color:#061b26}
.compass-skip:focus{top:12px}

/* Existing navigation and account controls, with the same elements and handlers. */
body header:has(#nav-auth){position:fixed;inset:0 0 auto;min-height:92px;padding:20px 32px;gap:20px;z-index:9999;background:linear-gradient(#05131deb,#05131d7a)!important;backdrop-filter:blur(10px);border:0;box-shadow:none}
body header:has(#nav-auth)::before{display:none}
body header:has(#nav-auth)::after{left:30px;right:30px;width:auto;background:var(--line);height:1px}
body header .brand{gap:12px;margin:0}
body header .brand::before{content:'';display:block;width:34px;height:34px;flex:0 0 34px;border:1px solid var(--gold);border-radius:50%;background:center/80% no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='m20 3 4 13 13 4-13 4-4 13-4-13-13-4 13-4Z' fill='none' stroke='%23ddbc7a'/%3E%3C/svg%3E")}
body header .brand-text{font-family:'Coastal Inter',Inter,sans-serif;font-weight:600;font-size:14px;letter-spacing:-.03em;text-transform:none;background:none;color:var(--white);-webkit-text-fill-color:currentColor}
body #nav-auth{gap:clamp(12px,1.7vw,25px)}
body #nav-auth>a,body #nav-auth .nav-link{font-size:11px;font-weight:400;color:#c1d1ca}
body #auth-actions{gap:8px}
body header .nav-btn{padding:10px 14px;font-size:11px;border-radius:3px}
body .dd-menu,body .mobile-panel{background:#0a202bf5;border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 20px 60px #02070d88;backdrop-filter:blur(18px)}
body .dd-menu a{font-size:12px;font-weight:400;color:var(--white)}
body .dd-menu a:hover,body .mobile-panel a:hover,body .mobile-link:hover{background:#ddbc7a12;color:var(--gold)}
body .nav-hamburger{color:var(--gold);border-radius:3px;background:transparent;border:1px solid var(--line);margin:0}
body .btn-primary,body .btn.primary,body .auth-btn{background:var(--gold)!important;color:#061b26!important;border:1px solid var(--gold)!important;box-shadow:none!important}
body .btn-primary:hover,body .btn.primary:hover,body .auth-btn:hover{background:#efd59f!important;transform:translateY(-2px)}
body .btn-secondary,body .btn-ghost,body .btn.ghost{background:#071b2644!important;color:var(--white)!important;border-color:var(--line-strong)!important;box-shadow:none!important}
body .btn{border-radius:3px;font-weight:600}
body .btn::before,body .btn::after{display:none}
body .modal-backdrop{background:#020a12c9!important;backdrop-filter:blur(8px)}
body .modal{background:#0a202b!important;border-color:var(--line-strong)!important;box-shadow:0 30px 90px #0008}
body .modal h2{color:var(--white);font-family:'Coastal Inter',Inter,sans-serif}
body .modal-kicker{color:var(--gold)}
body .auth-field input{background:#06141e!important;color:var(--white)!important;border-color:var(--line)!important}
body .auth-social-btn{border-color:var(--line-strong);background:#ddbc7a0a}

/* Existing public page containers. Form field names, actions and pricing stay in their pages. */
body :is(.about-hero,.services-hero,.contact-hero,.pricing-hero,.blog-hero,.legal-hero){background:transparent!important}
body .contact-hero{text-align:left}
body .contact-title{max-width:650px;margin-left:0;margin-right:auto}
body .contact-subline{max-width:58ch;margin-left:0;margin-right:auto;text-align:left}
body :is(.about-hero h1,.services-hero h1,.contact-title,.blog-page-title,.legal-hero h1,.pricing-hero h1){font-size:clamp(46px,6.4vw,94px);line-height:1;letter-spacing:-.065em;font-weight:600}
body :is(.kicker,.contact-kicker,.eyebrow,.portfolioV4 .eyebrow){color:var(--gold);background:transparent;border-color:var(--line);box-shadow:none}
body :is(.glass,.hero-panel,.service-card,.contact-card,.side-block,.blog-intro-card,.blog-widget-wrap .card,.blog-widget-wrap .blog-card,.legal-shell .panel,.legal-shell .card,.legal-shell .toc,.pricing-plan,.pricing-card,.feature,.roadmap-item,.download-list){background:linear-gradient(135deg,#0c2630cc,#071b26d9)!important;color:var(--text);border-color:var(--line)!important;box-shadow:0 18px 50px #02080d22!important;border-radius:10px}
body :is(.form-card,.pricing-plan,.pricing-card,.legal-shell .card){background:#09212de8!important}
body :is(.service-card,.glass,.contact-card,.pricing-card):hover{border-color:var(--line-strong)!important}
/* Service detail panels share the same theme, regardless of their heading. */
body .service-section .service-grid{align-items:stretch}
body .service-section .deliverables{background:linear-gradient(135deg,#0c2630cc,#071b26d9);color:var(--text);border-color:var(--line);border-radius:10px;box-shadow:0 18px 50px #02080d22}
body .service-section .deliverables:hover{border-color:var(--line-strong)}
body .service-section :is(.service-card,.deliverables)::before,body .services-hero .hero-panel::before{background:none}
body .service-section .service-title{background:none;color:var(--white);-webkit-text-fill-color:currentColor;font-weight:600;letter-spacing:-.045em}
body .service-section .deliverables .inner{display:flex;flex-direction:column;height:100%}
body .service-section .deliverables h3{color:var(--gold);font-family:'Coastal Inter',Inter,system-ui,sans-serif;font-size:11px;font-weight:600;line-height:1.6;letter-spacing:.14em;margin-bottom:20px}
body .service-section .deliverables .list{gap:16px}
body .service-section .deliverables .list li{color:var(--text);line-height:1.75}
body .service-section .deliverables .list li::before{width:6px;height:6px;margin-top:10px;background:var(--gold);border:1px solid var(--gold);border-radius:0;box-shadow:none;transform:rotate(45deg)}
body .service-section .deliverables .cta-row{margin-top:auto;padding-top:26px}
body .service-section .badge{color:var(--muted);border-color:var(--line);background:#ddbc7a08;box-shadow:none;font-weight:400}
body .services-hero .panel-title{color:var(--gold);font-size:11px;font-weight:600}
body .services-hero .pill{color:var(--text);border-color:var(--line);background:#071b2644;font-weight:400;box-shadow:none}
body .services-hero .pill:hover,body .services-hero .pill.is-active{color:var(--gold);border-color:var(--line-strong);background:#ddbc7a12;box-shadow:none}
body .page-wrap>.section-divider{background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}
body :is(.contact-page,main) :is(input:not([type=checkbox]):not([type=radio]),textarea,select){color:var(--white);background:#06151fe8;border-color:var(--line-strong)}
body :is(.contact-page,main) :is(input,textarea,select):focus{border-color:var(--gold);box-shadow:0 0 0 3px #ddbc7a18}
body .pricing-wrap :is(.price,.pricing-price){color:var(--gold);background:none;-webkit-text-fill-color:currentColor}
body .manifesto-page{padding-top:40px;background:transparent}
body .manifesto-page .band{background:#0b2530a6;border-block:1px solid var(--line)}
body .portfolioV4{background:transparent!important;color:var(--text)}
body .portfolioV4 .frame{border-color:var(--line-strong);box-shadow:0 20px 60px #02080d55}
body .portfolioV4 .card{background:transparent}
body .template-announcement{background:transparent!important}
body .template-post-slide{border:1px solid var(--line);border-radius:8px;background:#0a222dcc!important;box-shadow:0 20px 60px #02080d44}
body .template-post-content{background:transparent!important;backdrop-filter:none!important}
body .template-post-content :is(h3,p){color:var(--text)}
body .template-post-content h3{font-family:'Coastal Inter',Inter,sans-serif;font-size:clamp(30px,3.5vw,50px);font-weight:600;letter-spacing:-.045em}
body .template-post-kicker{color:var(--gold)!important}
body .template-post-content p{font-size:14px;line-height:1.8}
body .template-slide-btn{color:var(--gold);border-color:var(--line-strong);background:#0b2530}
body .template-slide-dot.is-active{background:var(--gold);box-shadow:none}
body .template-announcement-title{color:var(--white);background:none;-webkit-text-fill-color:currentColor;font-family:'Coastal Inter',Inter,sans-serif;font-weight:600;font-size:clamp(32px,4.2vw,60px);letter-spacing:-.055em}
body .template-announcement-kicker{color:var(--gold);background:transparent;border:0;box-shadow:none}
body .template-announcement-text{color:var(--muted)}

body .site-footer{position:relative;z-index:2;background:transparent;padding:30px 30px 85px}
body .footer-shell{max-width:1280px;padding:30px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none}
body .footer-shell::after{display:none}
body :is(.footer-brand,.footer-mobile-brand) h2{font-family:'Coastal Inter',Inter,sans-serif;font-size:20px;letter-spacing:-.03em;background:none;-webkit-text-fill-color:var(--white);color:var(--white);animation:none}
body .footer-col a,body .footer-brand p,body .footer-mobile-brand p{font-size:12px;line-height:1.8;color:var(--muted)}
body .footer-col h4{color:var(--gold);font-size:9px}
body .footer-bottom{font-size:10px;color:var(--muted)}
.compass-chapters{position:fixed;right:17px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;z-index:50}
.compass-chapters a{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:9px;min-width:30px;text-decoration:none}
.compass-chapters span{font-size:8px;color:var(--muted);opacity:0}
.compass-chapters i{width:4px;height:4px;border:1px solid #829d99;transform:rotate(45deg)}
.compass-chapters a[aria-current] i{width:7px;height:7px;background:var(--gold);border-color:var(--gold)}
.compass-chapters a:hover span,.compass-chapters a[aria-current] span{opacity:1}
@media(max-width:1000px) and (min-width:861px){body header:has(#nav-auth){padding-inline:20px;gap:12px}body header .brand-text{font-size:11px}body header .brand::before{width:28px;height:28px;flex-basis:28px}body #nav-auth{gap:11px}body header .nav-btn{padding:9px 10px;font-size:10px}body #nav-auth>a,body #nav-auth .nav-link{font-size:10px}}
@media(max-width:860px){html body{padding-top:80px}body header:has(#nav-auth){min-height:80px;padding:15px 24px}body header .brand-text{font-size:14px}body .mobile-panel{top:calc(var(--header-h) + 8px)}body .mobile-panel a,body .mobile-panel .mobile-link{font-size:14px;color:var(--white);font-weight:400}body .mobile-panel .mobile-actions{border-top-color:var(--line)}body .compass-chapters{right:1px;gap:8px}.compass-chapters span{display:none}.compass-chapters a{padding:9px 7px}.compass-chapters i{width:3px;height:3px}body .site-footer{padding-inline:24px}body .contact-hero,body .about-hero,body .services-hero{padding-top:60px}coastal-compass{--coastal-control-right:12px;--coastal-control-bottom:12px}.compass-frame{left:24px;right:24px;bottom:51px}.compass-static-poster{inset:15vh 0 auto;width:100vw;height:70vh;opacity:.25}}
@media(prefers-reduced-motion:reduce){html:root{scroll-behavior:auto}body *,body *::before,body *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
