@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");
/* Pythagoras Construction Analytics — v3 "clean tech" design system (2026-08-02)
   White ground · navy ink · gold accent · Inter · modern SaaS patterns */
:root{
  --navy:#13294B; --navy2:#1E3A6E; --gold:#9C7C38; --gold2:#C2A04E;
  --bg:#FFFFFF; --bg-alt:#F7F8FA; --white:#FFFFFF; --ink:#0B1220; --slate:#5B6472;
  --line:#E8EAEF; --line2:#D9DDE6; --hi:#B4232C; --lo:#1E7A46;
  --paper:#FFFFFF; --ivory:#FFFFFF; /* legacy aliases */
  --radius:14px; --shadow-sm:0 1px 2px rgba(11,18,32,.05);
  --shadow-md:0 1px 2px rgba(11,18,32,.04),0 12px 32px rgba(11,18,32,.07);
  --shadow-lg:0 2px 6px rgba(11,18,32,.05),0 24px 64px rgba(11,18,32,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img.brand{display:inline-block}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.narrow{max-width:840px}

/* Announcement bar */
.construction-banner{background:var(--navy);color:#D8DDE8;text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:8px 16px}
.construction-banner::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold2);margin-right:9px;vertical-align:1px}

/* Top account bar */
.topbar{background:var(--bg);border-bottom:1px solid var(--line);font-size:13px}
.topbar .wrap{display:flex;justify-content:flex-end;gap:26px;padding-block:10px}
.topbar a{color:var(--slate);font-weight:500;transition:color .15s}
.topbar a:hover{color:var(--navy)}
.topbar a.strong{color:var(--navy);font-weight:600}
.topbar a.strong::after{content:" →";color:var(--gold)}

/* Masthead — big logo, clean sticky-feel nav */
.masthead{background:var(--bg);border-bottom:1px solid var(--line);padding:44px 0 0;text-align:center}
.masthead .mh-logo{display:inline-block}
.masthead .mh-logo img{height:310px;width:auto;max-width:94vw;transition:transform .2s}
.masthead .mh-logo:hover img{transform:scale(1.015)}
.subnav{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;padding:26px 0 0;font-size:13.5px}
.subnav a{color:var(--slate);font-weight:500;padding:9px 16px 17px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.subnav a:hover{color:var(--navy)}
.subnav a.active{color:var(--navy);border-bottom-color:var(--gold);font-weight:600}
.subnav a.cta-nav{color:#fff;background:var(--navy);border-radius:10px;padding:9px 18px;margin-left:10px;margin-bottom:8px;font-weight:600;border-bottom:none;transition:background .15s,transform .15s}
.subnav a.cta-nav:hover{background:var(--navy2);transform:translateY(-1px)}
@media(max-width:640px){.masthead .mh-logo img{height:170px}.subnav{gap:0;font-size:12.5px}.subnav a{padding:8px 10px 14px}}

/* Hero */
.hero{padding:96px 0 80px;text-align:center;position:relative}
.hero.tight{padding:64px 0 48px}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(52% 42% at 50% 0%, rgba(19,41,75,.05), transparent 70%);pointer-events:none}
.hero>.wrap{position:relative}
.kicker{display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700}
.hero .kicker{background:#F6F1E4;border:1px solid #EADFC4;color:#8A6D2C;border-radius:99px;padding:7px 16px;letter-spacing:.14em;font-size:11.5px}
.hero h1{font-size:clamp(34px,5.4vw,62px);font-weight:800;letter-spacing:-.035em;color:var(--navy);line-height:1.06;max-width:900px;margin:22px auto 0}
.hero p.lead{max-width:660px;margin:24px auto 0;font-size:18.5px;color:var(--slate);line-height:1.65}

/* Persona doors */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.door{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:36px 30px;text-align:left;box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;flex-direction:column}
.door:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line2)}
.door .tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.door h3{font-size:22px;font-weight:700;color:var(--navy);margin:10px 0 10px;letter-spacing:-.02em}
.door p{font-size:14.5px;color:var(--slate);flex:1}
.door .go{margin-top:22px;font-size:14px;font-weight:600;color:var(--navy)}
.door .go::after{content:" →";color:var(--gold);transition:margin .15s}
.door:hover .go::after{margin-left:4px}
@media(max-width:820px){.doors{grid-template-columns:1fr}}

/* Sections */
section{padding:112px 0}
section.alt{background:var(--bg-alt);border-block:1px solid var(--line)}
h2{font-size:clamp(26px,3.4vw,40px);font-weight:800;letter-spacing:-.03em;color:var(--navy);margin:12px 0 16px;line-height:1.12}
h2.center,.center{text-align:center}
p.lead{max-width:700px;color:var(--slate);font-size:17px}
.center p.lead{margin-inline:auto}

/* Cards grid */
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;margin-top:44px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .18s}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
section.alt .card{background:var(--white)}
.card .num{font-size:12px;font-weight:700;color:var(--gold);letter-spacing:.12em}
.card h3{font-size:17.5px;font-weight:700;color:var(--navy);margin:10px 0 8px;letter-spacing:-.01em}
.card p{font-size:14px;color:var(--slate)}

/* Dark panel */
.dark{background:linear-gradient(160deg,var(--navy) 0%,#0D1E3C 100%);color:#E6E9F0;border-radius:24px;padding:64px 52px;margin-block:8px;box-shadow:var(--shadow-lg)}
.dark .kicker{color:var(--gold2)}
.dark h2{color:#fff}
.dark p.lead{color:#AEB7C9}
.dark .card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);box-shadow:none}
.dark .card:hover{transform:none;border-color:rgba(255,255,255,.25)}
.dark .card h3{color:var(--gold2)}
.dark .card p{color:#AEB7C9}
@media(max-width:640px){.dark{padding:44px 26px}}

/* Checklist */
ul.clean{list-style:none;margin-top:16px;max-width:720px}
ul.clean li{font-size:15px;color:var(--slate);padding:10px 0 10px 30px;position:relative;border-bottom:1px solid var(--line)}
ul.clean li:last-child{border-bottom:none}
ul.clean li b{color:var(--ink);font-weight:600}
ul.clean li::before{content:"";position:absolute;left:2px;top:17px;width:12px;height:8px;border-left:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg)}

/* Buttons */
.cta{display:inline-block;margin-top:32px;background:var(--navy);color:#fff;font-weight:600;font-size:15px;padding:15px 32px;border-radius:11px;box-shadow:var(--shadow-sm);transition:background .15s,transform .15s,box-shadow .15s;border:none;cursor:pointer}
.cta:hover{background:var(--navy2);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.cta.ghost{background:transparent;color:var(--navy);border:1.5px solid var(--line2);margin-left:10px;box-shadow:none}
.cta.ghost:hover{border-color:var(--navy);background:transparent}
.cta.light{background:var(--gold2);color:#1B1405}
.cta.light:hover{background:#D0AF5C}
.cta.gold{background:var(--gold);color:#fff}
.cta.gold:hover{background:#8A6D2C}

/* Stats strip */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border-block:1px solid var(--line);background:var(--bg)}
.stat{padding:40px 20px;text-align:center;border-right:1px solid var(--line)}
.stat:last-child{border-right:none}
.stat b{display:block;font-size:38px;font-weight:800;color:var(--navy);letter-spacing:-.03em}
.stat span{font-size:11.5px;color:var(--slate);letter-spacing:.1em;text-transform:uppercase;font-weight:600}
@media(max-width:640px){.stat{border-right:none;border-bottom:1px solid var(--line);padding:26px 16px}}

/* Pricing tiers */
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.tier{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:30px 24px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .18s}
.tier:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.tier h3{font-size:14px;font-weight:700;color:var(--slate);letter-spacing:.12em}
.tier .price{font-size:38px;font-weight:800;color:var(--navy);letter-spacing:-.03em;margin-top:8px}
.tier .price span{font-size:14px;font-weight:500;color:var(--slate);letter-spacing:0}
.tier ul{list-style:none;margin-top:18px;flex:1}
.tier ul li{font-size:13.5px;color:var(--slate);padding:8px 0 8px 24px;position:relative;border-bottom:1px solid var(--line)}
.tier ul li:last-child{border-bottom:none}
.tier ul li b{color:var(--ink)}
.tier ul li::before{content:"";position:absolute;left:0;top:15px;width:10px;height:6px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.tier .cta{margin-top:22px;text-align:center;padding:12px 0;width:100%}
.tier.feature{background:linear-gradient(160deg,var(--navy),#0D1E3C);border-color:var(--navy);position:relative;box-shadow:var(--shadow-lg)}
.tier.feature h3{color:var(--gold2)}
.tier.feature .price{color:#fff}
.tier.feature .price span{color:#93A0B8}
.tier.feature ul li{color:#B9C2D4;border-color:rgba(255,255,255,.1)}
.tier.feature ul li b{color:#fff}
.tier.feature .flag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gold2);color:#1B1405;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 14px;border-radius:99px;white-space:nowrap}
.tier.feature .cta{background:var(--gold2);color:#1B1405}
.tier.feature .cta:hover{background:#D0AF5C}
@media(max-width:980px){.tiers{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tiers{grid-template-columns:1fr}}
.pricing-notes{margin-top:28px;font-size:13.5px;color:var(--slate);text-align:center;line-height:1.9}
.pricing-notes b{color:var(--ink)}

/* Scan demo panel (product shot) */
.scan-demo{background:linear-gradient(160deg,#122747,#0C1B36);border:1px solid #24385C;border-radius:20px;padding:36px 40px;margin-top:48px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#C7CEDD;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.scan-demo::before{content:"● ● ●";position:absolute;top:14px;left:20px;font-size:9px;letter-spacing:4px;color:#3A4E75}
.scan-demo .sd-title{color:var(--gold2);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;margin:10px 0 16px;font-family:Inter,sans-serif;font-weight:700}
.scan-demo .sd-big{font-size:clamp(17px,2.4vw,25px);color:#fff;font-weight:700;margin-bottom:20px}
.scan-demo .row{display:flex;align-items:center;gap:12px;font-size:13px;padding:3.5px 0}
.scan-demo .row .lbl{width:225px;flex-shrink:0;color:#8D99B2}
.scan-demo .row .bar{height:8px;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:4px}
.scan-demo .row .n{color:#fff;font-weight:600}
.scan-demo .sd-note{margin-top:20px;font-size:12.5px;color:#7686A3;font-style:italic;font-family:Inter,sans-serif}
.scan-demo .blur{filter:blur(4px);user-select:none}
@media(max-width:640px){.scan-demo{padding:30px 20px}.scan-demo .row .lbl{width:150px;font-size:11.5px}}

/* Forms */
form.panel{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:38px;max-width:640px;margin:44px auto 0;text-align:left;box-shadow:var(--shadow-md)}
form.panel label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin:16px 0 6px;letter-spacing:.02em}
form.panel input,form.panel select,form.panel textarea{width:100%;padding:12px 14px;border:1px solid var(--line2);border-radius:10px;font:inherit;font-size:14.5px;background:var(--bg);color:var(--ink);transition:border-color .15s,box-shadow .15s}
form.panel input:focus,form.panel select:focus,form.panel textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(19,41,75,.1)}
form.panel .cta{width:100%;text-align:center}
.persona-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}
.persona-pick a{background:var(--white);border:1.5px solid var(--line);border-radius:14px;padding:24px 16px;font-weight:600;color:var(--navy);font-size:14.5px;transition:border-color .15s,transform .15s,box-shadow .15s}
.persona-pick a:hover,.persona-pick a.on{border-color:var(--navy);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.persona-pick a.on{background:var(--navy);color:#fff}
@media(max-width:640px){.persona-pick{grid-template-columns:1fr}}

/* Switcher */
.switcher{background:var(--bg-alt);border-block:1px solid var(--line);padding:26px 0;text-align:center;font-size:14px;color:var(--slate)}
.switcher a{color:var(--navy);font-weight:600;margin:0 10px;border-bottom:1.5px solid var(--gold);white-space:nowrap}

/* Footer */
footer{border-top:1px solid var(--line);padding:52px 0 60px;text-align:center;font-size:13px;color:var(--slate);background:var(--bg)}
footer .tm{letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--navy);font-size:12.5px}
footer .fnav{margin:18px 0;display:flex;gap:26px;justify-content:center;flex-wrap:wrap}
footer .fnav a{color:var(--slate);transition:color .15s}
footer .fnav a:hover{color:var(--navy)}
a.mail{color:var(--navy);font-weight:600;border-bottom:1.5px solid var(--gold)}

/* Portal bits reuse the system above */
