/* Trieste Foundation — site styles. Brand tokens are fixed; do not recolour. */

@font-face{font-family:'Poppins';font-weight:400;font-style:normal;font-display:swap;src:url('/assets/fonts/poppins-400.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-weight:600;font-style:normal;font-display:swap;src:url('/assets/fonts/poppins-600.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-weight:700;font-style:normal;font-display:swap;src:url('/assets/fonts/poppins-700.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-weight:800;font-style:normal;font-display:swap;src:url('/assets/fonts/poppins-800.woff2') format('woff2');}

:root{
  --navy:#263979; --deep:#316a9e; --sky:#27a3c8; --grey:#7f7f7f;
  --green:#629f35; --orange:#f7ae3e; --red:#ee3c36;
  --ink:#1d2635; --muted:#586173; --line:#e6eaf1; --bg:#f4f8fc; --tint:#eef4fb;
  --z-header:100; --z-menu:200;
  --maxw:1200px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#fff;color:var(--ink);font-family:'Poppins',-apple-system,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:var(--deep);text-decoration:none;}
a:hover{text-decoration:underline;}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:4px;}
h1,h2,h3,h4{margin:0;color:var(--navy);font-weight:800;line-height:1.12;letter-spacing:-.015em;text-wrap:balance;}
p{margin:0;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.kicker{font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--deep);font-size:13px;}
.lead{color:var(--muted);font-size:19px;line-height:1.65;text-wrap:pretty;}

/* skip link */
.skip{position:absolute;left:12px;top:-48px;z-index:calc(var(--z-menu) + 10);background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;font-weight:700;transition:top .15s ease;}
.skip:focus{top:12px;text-decoration:none;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:16px;padding:14px 26px;border-radius:40px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease, background .15s ease, color .15s ease;text-decoration:none;}
.btn:hover{text-decoration:none;transform:translateY(-2px);}
.btn-primary{background:var(--navy);color:#fff;}
.btn-primary:hover{background:#1c2c60;color:#fff;}
.btn-sky{background:var(--sky);color:#fff;}
.btn-sky:hover{background:#1f8bab;color:#fff;}
.btn-ghost{background:transparent;color:var(--navy);border-color:#cdd6e6;}
.btn-ghost:hover{border-color:var(--navy);color:var(--navy);}
.btn-white{background:#fff;color:var(--navy);}
.btn-white:hover{background:#eaf3f8;color:var(--navy);}

/* header */
header.site{position:sticky;top:0;z-index:var(--z-header);background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.hd{display:flex;align-items:center;gap:24px;padding-block:14px;}
.hd .logo{display:flex;align-items:center;gap:12px;}
.hd .logo img{height:54px;width:auto;}
.hd .logo .wordmark{color:var(--navy);font-size:clamp(16px,4.6vw,21px);font-weight:800;letter-spacing:.2px;line-height:1.05;white-space:nowrap;}
.hd nav{margin-left:auto;display:flex;gap:6px;align-items:center;}
.hd nav a[data-nav]:not(.call){color:var(--ink);font-weight:600;font-size:15.5px;padding:9px 14px;border-radius:30px;}
.hd nav a[data-nav]:not(.call):hover{background:var(--bg);text-decoration:none;color:var(--navy);}
.hd nav a[aria-current="page"]:not(.call){color:var(--navy);background:var(--tint);}
.hd nav a.call{color:#fff;}
.hd .call{margin-left:8px;}
.hd .menu-btn{display:none;margin-left:auto;background:var(--navy);border:0;color:#fff;width:46px;height:46px;border-radius:12px;cursor:pointer;}
.hd .menu-btn span,.hd .menu-btn span::before,.hd .menu-btn span::after{display:block;position:relative;width:20px;height:2px;background:#fff;margin:0 auto;content:"";}
.hd .menu-btn span::before{position:absolute;top:-6px;}
.hd .menu-btn span::after{position:absolute;top:6px;}

/* sections */
.sec{padding:84px 0;}
.sec.tint{background:var(--bg);}
.sec-head{max-width:720px;margin-bottom:44px;}
.sec-head h2{font-size:clamp(30px,4vw,44px);margin:10px 0 14px;}
.eyebrow-row{display:flex;align-items:center;gap:12px;}
.eyebrow-row::after{content:"";height:2px;width:54px;background:var(--sky);border-radius:2px;}

/* waves */
.wave{display:block;width:100%;height:auto;}

/* HERO */
.hero{background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);position:relative;overflow:hidden;}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-block:70px 40px;}
.hero h1{font-size:clamp(38px,5.4vw,68px);}
.hero .tag{font-family:'Poppins';font-style:italic;color:var(--deep);font-weight:600;font-size:22px;margin-top:6px;}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.hero .photo{position:relative;}
.hero .photo .ring{position:absolute;inset:-14px;border:3px dashed var(--sky);border-radius:34px;opacity:.5;}
.hero .photo img{width:100%;height:520px;object-fit:cover;border-radius:26px;box-shadow:0 30px 60px -30px rgba(38,57,121,.45);}
.hero .badge{position:absolute;left:-22px;bottom:34px;background:#fff;border-radius:18px;box-shadow:0 20px 40px -18px rgba(38,57,121,.4);padding:16px 20px;display:flex;gap:12px;align-items:center;}
.hero .badge b{color:var(--navy);font-size:15px;display:block;line-height:1.2;}
.hero .badge small{color:var(--muted);font-size:12.5px;}

/* value strip */
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.vitem .dot{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.vitem svg{width:34px;height:34px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.vitem h3{font-size:22px;margin-bottom:6px;}
.vitem p{color:var(--muted);font-size:15px;}

/* service cards */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.cards2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.cards-flex{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;}
.cards-flex .scard{flex:0 1 320px;}
.scard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px 28px;transition:transform .18s ease, box-shadow .18s ease;}
.scard:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(38,57,121,.4);}
.scard .ic{width:72px;height:72px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.scard .ic svg{width:38px;height:38px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.scard h3{font-size:23px;margin-bottom:10px;}
.scard p{color:var(--muted);font-size:15.5px;margin-bottom:16px;}
.scard a{font-weight:700;}

/* Trieste deep-sea story */
.deep{position:relative;background:linear-gradient(180deg,#2a3f7e 0%,#1b2a56 42%,#0c1430 100%);color:#e9eef8;overflow:hidden;}
.deep .lines{position:absolute;inset:0;opacity:.16;background-image:repeating-linear-gradient(0deg,transparent 0 78px,rgba(255,255,255,.5) 78px 79px);}
.deep .wrap{position:relative;padding:96px 28px;}
.deep .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.deep .kicker{color:var(--sky);}
.deep .depth{font-size:clamp(46px,9vw,100px);font-weight:800;color:#fff;line-height:1;letter-spacing:-.03em;white-space:nowrap;}
.deep .depth span{display:block;font-size:19px;font-weight:600;letter-spacing:3px;color:var(--sky);margin-top:14px;text-transform:uppercase;}
.deep h2{color:#fff;font-size:clamp(28px,3.6vw,40px);margin-bottom:18px;}
.deep p{color:#cdd8f0;font-size:18px;margin-bottom:16px;line-height:1.7;}
.deep .gauge{display:flex;gap:26px;margin-top:26px;flex-wrap:wrap;}
.deep .gauge b{display:block;color:#fff;font-size:30px;font-weight:800;}
.deep .gauge small{color:#aebbdd;font-size:13px;letter-spacing:1px;text-transform:uppercase;}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pillar{background:var(--bg);border-radius:20px;padding:30px;border:1px solid var(--line);}
.pillar h3{font-size:22px;margin:0 0 10px;}
.pillar p{color:var(--muted);font-size:15px;}

/* testimonials */
.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.tstack{display:flex;flex-direction:column;gap:24px;max-width:820px;margin:0 auto;}
.tstack .tcard{margin:0;}
.tcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 28px;position:relative;overflow:hidden;}
.tcard::before{content:"\201C";position:absolute;top:2px;right:20px;font-family:Georgia,serif;font-size:96px;line-height:1;color:var(--sky);opacity:.16;}
.tcard .stars{display:flex;gap:4px;margin-bottom:14px;}
.tcard .stars span{width:15px;height:15px;color:var(--orange);}
.tcard .q{font-size:17px;line-height:1.65;color:var(--ink);font-weight:500;}
.tcard .q + .q{margin-top:13px;}
.tcard .who{margin:0 0 16px;font-weight:700;color:var(--navy);font-size:15px;}
.tcard .who span{display:block;color:var(--muted);font-weight:500;font-size:13px;margin-top:2px;}
.note-inline{font-size:13.5px;color:var(--muted);margin-top:18px;}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:12px;}
.chip{background:var(--tint);color:var(--navy);font-weight:600;font-size:15px;padding:10px 18px;border-radius:30px;}
/* centred chip clusters — pills size to their text, wrap into centred rows */
.chips-grid4{justify-content:center;max-width:880px;margin:0 auto;}
.chips-grid3{justify-content:center;max-width:660px;margin:0 auto;}
/* socials block */
.socials-row{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;}
.soc-btn{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--navy);transition:transform .15s ease, background .15s ease;}
.soc-btn:hover{transform:translateY(-3px);background:var(--deep);text-decoration:none;}
.soc-btn svg{width:26px;height:26px;fill:#fff;}
.ig-embed{max-width:720px;margin:30px auto 0;}
@media(max-width:760px){ .chips-grid4{grid-template-columns:repeat(2,1fr);} }
@media(max-width:620px){ .chips-grid3{grid-template-columns:repeat(2,1fr);} }

/* participant photo strip */
.photostrip{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.photostrip figure{margin:0;}
.photostrip img{width:100%;height:360px;object-fit:cover;border-radius:20px;box-shadow:0 22px 44px -28px rgba(38,57,121,.45);}
.photostrip figcaption{margin-top:10px;color:var(--muted);font-size:14px;}

/* callout (full border — never a side stripe) */
.callout{background:var(--tint);border:1px solid #cfe0ee;border-radius:18px;padding:26px 28px;}
.callout h3{font-size:20px;margin-bottom:8px;}
.callout p{color:var(--muted);font-size:15.5px;margin-bottom:8px;}
.callout p:last-child{margin-bottom:0;}
.callout a{font-weight:700;}

/* CTA band */
.ctaband{background:linear-gradient(120deg,var(--navy),var(--deep));color:#fff;border-radius:28px;padding:52px;display:flex;gap:30px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.ctaband h2{color:#fff;font-size:clamp(26px,3.2vw,36px);}
.ctaband p{color:#cdd8f0;margin-top:8px;}

/* page hero (inner pages) */
.phero{background:var(--navy);color:#fff;position:relative;overflow:hidden;}
.phero .wrap{padding:70px 28px 78px;position:relative;}
.phero .kicker{color:var(--sky);}
.phero h1{color:#fff;font-size:clamp(36px,5vw,58px);margin:12px 0 10px;}
.phero p{color:#cdd8f0;max-width:60ch;font-size:19px;}

/* detailed service rows */
.srow{display:grid;grid-template-columns:96px 1fr;gap:28px;padding:34px 0;border-top:1px solid var(--line);align-items:start;}
.srow:first-of-type{border-top:0;}
.srow .ic{width:88px;height:88px;border-radius:22px;display:flex;align-items:center;justify-content:center;}
.srow .ic svg{width:46px;height:46px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.srow h3{font-size:26px;margin-bottom:10px;}
.srow p{color:var(--muted);font-size:16.5px;margin-bottom:14px;}
.srow ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;}
.srow li{position:relative;padding-left:26px;color:var(--ink);font-size:15px;font-weight:500;}
.srow li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;border-radius:50%;background:var(--sky);}

/* benefits grid */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.bcard{border:1px solid var(--line);border-radius:16px;padding:24px;background:#fff;}
.bcard b{color:var(--navy);font-size:17px;}
.bcard p{color:var(--muted);font-size:14.5px;margin-top:6px;}

/* contact */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.crow{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px;}
.crow .ic{flex:0 0 auto;width:52px;height:52px;border-radius:14px;background:var(--tint);display:flex;align-items:center;justify-content:center;}
.crow .ic svg{width:24px;height:24px;stroke:var(--navy);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.crow b{color:var(--navy);font-size:17px;display:block;}
.crow span{color:var(--muted);font-size:15.5px;}
.form{background:var(--bg);border:1px solid var(--line);border-radius:22px;padding:30px;}
.form .fh{color:var(--navy);font-size:18px;font-weight:800;}
.form label{display:block;font-weight:600;font-size:14px;color:var(--navy);margin:14px 0 6px;}
.form .req{color:var(--red);}
.form input,.form select,.form textarea{width:100%;border:1px solid #c3cede;border-radius:12px;padding:13px 15px;font:inherit;font-size:15px;background:#fff;color:var(--ink);}
.form input::placeholder,.form textarea::placeholder{color:#6b7488;}
.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{border-color:var(--sky);}
.form textarea{min-height:110px;resize:vertical;}
.form .btn{margin-top:20px;width:100%;justify-content:center;}
.form .hint{font-size:13px;color:var(--muted);margin-top:6px;}
.form-note{font-size:13.5px;color:var(--muted);margin-top:14px;}
/* honeypot */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* footer */
footer.site{background:var(--navy);color:#d3ddf3;}
footer.site .wrap{padding:60px 28px 30px;}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;}
footer.site h4{color:#fff;font-size:15px;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;}
footer.site a{color:#d3ddf3;display:block;padding:5px 0;font-size:15px;}
footer.site a:hover{color:#fff;}
.fbrand{display:flex;gap:14px;align-items:center;margin-bottom:16px;}
.fbrand .badge{width:60px;height:60px;border-radius:50%;background:#fff;flex:0 0 auto;overflow:hidden;}
.fbrand .badge img{width:100%;height:100%;object-fit:contain;}
.fbrand b{color:#fff;font-size:20px;font-weight:800;letter-spacing:.5px;display:block;line-height:1;}
.fbrand small{color:var(--sky);font-size:11px;letter-spacing:3px;text-transform:uppercase;}
.fsoc{display:flex;gap:10px;margin-top:14px;}
.fsoc a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;padding:0;}
.fsoc a:hover{background:rgba(255,255,255,.2);}
.fsoc svg{width:19px;height:19px;fill:#fff;}
.ndis-badge{background:#fff;border-radius:12px;padding:10px 12px;display:inline-block;margin-top:12px;}
.ndis-badge img{height:56px;width:auto;}
.fbottom{border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#b3c0e0;}

[hidden]{display:none!important;}

@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}

@media (max-width:960px){
  .hero .grid{grid-template-columns:1fr;gap:34px;padding-block:40px 10px;}
  .hero .photo img{height:380px;}
  .values{grid-template-columns:1fr 1fr;gap:24px;}
  .cards3,.pillars,.bgrid,.tcards,.cards2,.photostrip{grid-template-columns:1fr;}
  .deep .grid,.cgrid{grid-template-columns:1fr;gap:34px;}
  /* Force any inline two-column .wrap grid to stack on mobile (overrides inline style) */
  .stack-960{grid-template-columns:1fr!important;gap:32px!important;}
  .fgrid{grid-template-columns:1fr 1fr;}
  .hd nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:12px 20px 20px;gap:2px;display:none;box-shadow:0 20px 40px -24px rgba(0,0,0,.3);z-index:var(--z-menu);}
  body.nav-open .hd nav{display:flex;}
  .hd nav a[data-nav]{padding:13px 12px;font-size:17px;}
  .hd .call{display:none;}
  .hd .menu-btn{display:block;}
  .hd .logo{margin-right:auto;}
  .ctaband{padding:36px;}
}
@media (max-width:560px){
  .values{grid-template-columns:1fr;}
  .fgrid{grid-template-columns:1fr;}
  .sec{padding:60px 0;}
  .srow{grid-template-columns:1fr;}
}
