/* Tiltsun — site styles */
:root{
  --navy:#1f235b; --navy-900:#2d3282; --navy-800:#2d31a6; --blue:#444ce7; --blue-500:#6172f3; --blue-100:#e0eaff; --blue-50:#eef4ff; --blue-25:#f5f8ff;
  --yellow:#fff500; --yellow-600:#d1b700; --yellow-100:#f6ffc1;
  --ink:#0f1230; --text:#2a2d4a; --muted:#5b5e86; --line:#dee0ef; --bg:#ffffff; --bg-2:#f5f6ff;
  --radius:1rem; --radius-sm:0.625rem; --shadow:0 0.625rem 1.875rem rgba(31,35,91,.10); --shadow-lg:0 1.5rem 3.75rem rgba(31,35,91,.18);
  --max:75rem; --gutter:1.25rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
/* scale whole layout up on large screens (all sizes are rem) */
@media(min-width:1500px){html{font-size:clamp(16px,1.05vw,20px)}}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;font-size:1.0625rem}
img{max-width:100%;display:block;height:auto}
a{color:var(--blue);text-decoration:none}
h1,h2,h3,h4{color:var(--ink);line-height:1.15;margin:0 0 .5em;letter-spacing:-.02em;font-weight:700}
h1{font-size:clamp(2.4rem,5.5vw,4.2rem);letter-spacing:-.03em}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
h3{font-size:1.35rem}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
section{padding:5.5rem 0}
@media(max-width:768px){section{padding:4rem 0}}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:0.875rem}
.lead{font-size:1.15rem;color:var(--muted);max-width:45rem}
.center{text-align:center}.center .lead{margin-inline:auto}
.btn{display:inline-flex;align-items:center;gap:0.625rem;padding:0.875rem 1.5rem;border-radius:62.4375rem;font-weight:600;font-size:1rem;border:2px solid transparent;cursor:pointer;transition:.2s;white-space:nowrap}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-800);transform:translateY(-1px)}
.btn-yellow{background:var(--yellow);color:var(--ink)}.btn-yellow:hover{background:#f3ff41;transform:translateY(-1px)}
.btn-ghost{border-color:var(--line);color:var(--ink);background:#fff}.btn-ghost:hover{border-color:var(--navy)}
.btn-light{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}.btn-light:hover{background:rgba(255,255,255,.12)}
.btn-row{display:flex;flex-wrap:wrap;gap:0.75rem}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(0.75rem);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:4.5rem}
.nav .logo img{height:1.375rem}
.nav ul{display:flex;gap:1.75rem;list-style:none;margin:0;padding:0}
.nav ul a{color:var(--ink);font-weight:500;font-size:.95rem}.nav ul a:hover{color:var(--blue)}
.nav .btn{padding:0.625rem 1.125rem;font-size:.9rem}
.nav-toggle{display:none;background:none;border:0;padding:0.5rem;cursor:pointer}
.nav-toggle span{display:block;width:1.5rem;height:2px;background:var(--ink);margin:0.3125rem 0;transition:.2s}
@media(max-width:960px){
  .nav ul,.nav .btn{display:none}
  .nav-toggle{display:block}
  .nav.open ul{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:4.5rem;background:#fff;padding:1.25rem var(--gutter) 1.75rem;border-bottom:1px solid var(--line);gap:1.125rem}
  .nav.open .btn{display:inline-flex;position:absolute;top:calc(4.5rem + 14.375rem);left:var(--gutter)}
}

/* hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;color:#fff;padding:0;overflow:hidden}
.hero .bg{position:absolute;inset:0;background:url(../img/skiemonys-aerial-1.jpg) center/cover no-repeat}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,18,48,.15) 0%,rgba(15,18,48,.55) 55%,rgba(15,18,48,.9) 100%)}
.hero .wrap{position:relative;padding-top:7.5rem;padding-bottom:4.5rem;width:100%}
.hero h1{color:#fff;max-width:53.75rem}
.hero .lead{color:rgba(255,255,255,.85);font-size:1.25rem}
.hero .badge{display:inline-flex;align-items:center;gap:0.625rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);padding:0.5rem 0.875rem 0.5rem 0.5rem;border-radius:62.4375rem;font-size:.85rem;font-weight:600;margin-bottom:1.375rem;backdrop-filter:blur(0.375rem)}

.hero .caption{position:absolute;right:1.25rem;left:1.25rem;text-align:right;bottom:1rem;font-size:.75rem;color:rgba(255,255,255,.65)}
.hero-pause{position:absolute;right:1.5rem;bottom:1.5rem;z-index:2;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(15,18,48,.35);backdrop-filter:blur(0.375rem);cursor:pointer;display:grid;place-items:center}
.hero-pause span{width:0.625rem;height:0.75rem;border-left:3px solid #fff;border-right:3px solid #fff}
.hero-pause.is-paused span{width:0;height:0;border:0;border-left:0.6875rem solid #fff;border-top:0.4375rem solid transparent;border-bottom:0.4375rem solid transparent;margin-left:3px}
.mini-play{display:grid;place-items:center;width:1.375rem;height:1.375rem;border-radius:50%;background:var(--yellow);color:var(--ink);margin-left:-0.5rem}
.mini-play svg{margin-left:2px}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--navy) repeating-linear-gradient(-70deg,transparent 0 7.5rem,rgba(255,255,255,.035) 7.5rem 7.625rem);color:#fff}
.hero-stats div{padding:1.75rem 1.25rem;border-right:1px solid rgba(255,255,255,.12);text-align:center}
.hero-stats div:last-child{border-right:0}
.hero-stats b{display:block;font-size:2.2rem;letter-spacing:-.03em;color:var(--yellow)}
.hero-stats span{font-size:.9rem;color:rgba(255,255,255,.8)}
@media(max-width:768px){.hero-stats{grid-template-columns:repeat(2,1fr)}.hero-stats div:nth-child(2){border-right:0}.hero-stats div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}}

/* trust strip */
.trust{background:#fff;border-bottom:1px solid var(--line);padding:1.125rem 0}
.trust .wrap{display:flex;align-items:center;gap:1.25rem 2.5rem;flex-wrap:wrap;justify-content:center}
.trust-label{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.trust ul{display:flex;gap:1rem 2.75rem;list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:center}
.trust li{display:flex;align-items:center;gap:0.875rem;font-size:.9rem;color:var(--text)}
.trust li img{height:2.75rem;width:auto;max-width:6.875rem;object-fit:contain}

/* brand panel marks (skewed fading panels, from the logo) */
.panel-mark{display:inline-flex;gap:0.25rem;margin:0 0 0.875rem 0.875rem;vertical-align:middle}
.panel-mark i{width:0.875rem;height:0.625rem;background:var(--navy);transform:skewX(-14deg);border-radius:1px}
.panel-mark i:nth-child(2){opacity:.7}.panel-mark i:nth-child(3){opacity:.45}.panel-mark i:nth-child(4){opacity:.2}
.panel-mark.light i{background:var(--yellow)}
.hero .badge .mark{display:inline-flex;gap:3px;padding:0 0.25rem 0 0.5rem}
.hero .badge .mark i{width:0.625rem;height:0.5rem;background:var(--yellow);transform:skewX(-14deg)}
.hero .badge .mark i:nth-child(2){opacity:.7}.hero .badge .mark i:nth-child(3){opacity:.45}.hero .badge .mark i:nth-child(4){opacity:.2}
.has-motif{position:relative;overflow:hidden}
.has-motif::before{content:"";position:absolute;right:-7.5rem;top:-2.5rem;width:45rem;height:31.625rem;background:url(../img/motif.svg) no-repeat;background-size:contain;opacity:.9;pointer-events:none}
.has-motif>.wrap{position:relative}
.frame{position:relative}
.frame::before{content:"";position:absolute;inset:auto -0.875rem -0.875rem auto;width:60%;height:60%;background:var(--yellow);border-radius:var(--radius);transform:skewX(-6deg);z-index:0}
.frame-rev::before{inset:-0.875rem auto auto -0.875rem}
.frame img{position:relative;z-index:1}
.metric b::after{content:"";display:block;width:2.75rem;height:0.375rem;margin-top:0.875rem;background:var(--yellow);transform:skewX(-20deg);transition:width .3s}
.metric:hover b::after{width:4.5rem}
.metric h3{margin-top:1rem}
.phases{position:relative}
.phase .num{display:inline-grid;place-items:center;min-width:2.75rem;height:1.625rem;padding:0 0.5rem;background:var(--yellow);color:var(--ink);transform:skewX(-12deg);border-radius:0.25rem;margin-bottom:0.625rem}
.phase img{transition:transform .5s}.phase:hover img{transform:scale(1.04)}
.gallery img{transition:transform .5s}.gallery img:hover{transform:scale(1.03)}
.cta{position:relative;overflow:hidden}
.cta-mark{position:absolute;right:-1.875rem;top:-1.875rem;display:flex;gap:0.625rem;transform:rotate(-8deg);pointer-events:none}
.cta-mark i{width:5.625rem;height:13.75rem;background:#fff;opacity:.05;transform:skewX(-14deg)}
.cta-mark i:nth-child(odd){opacity:.09}
.cta>*{position:relative}
.dark .split{position:relative}

/* grids & cards */
.grid{display:grid;gap:1.5rem}
.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:960px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem;transition:.2s}
.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.metric b{display:block;font-size:3rem;letter-spacing:-.04em;color:var(--navy);line-height:1}
.metric h3{margin:0.625rem 0 0.375rem;font-size:1.1rem}
.metric p{color:var(--muted);font-size:.95rem;margin:0}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.split img{border-radius:var(--radius);box-shadow:var(--shadow-lg)}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:2rem}}
.split.rev>:first-child{order:2}@media(max-width:900px){.split.rev>:first-child{order:0}}
.checks{list-style:none;padding:0;margin:0 0 1.5rem}
.checks li{padding-left:2rem;position:relative;margin-bottom:0.75rem}
.checks li::before{content:"";position:absolute;left:0;top:0.25rem;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--yellow);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%231f235b' stroke-width='2.5'%3E%3Cpath d='M5 10.5l3.2 3L15 7'/%3E%3C/svg%3E")}

/* project */
.dark{background:var(--navy);color:#fff}
.dark h2,.dark h3{color:#fff}.dark .lead{color:rgba(255,255,255,.8)}.dark .eyebrow{color:var(--yellow)}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:17.5rem 17.5rem;gap:0.875rem;margin-top:2.5rem}
.gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm)}
.gallery .big{grid-row:span 2}
@media(max-width:768px){.gallery{grid-template-columns:1fr 1fr;grid-template-rows:13.75rem 11.25rem 11.25rem}.gallery .big{grid-column:span 2;grid-row:auto}}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2.25rem}
.facts div{border-left:3px solid var(--yellow);padding-left:1rem}
.facts b{display:block;font-size:1.35rem;color:#fff;white-space:nowrap}
.facts span{font-size:.9rem;color:rgba(255,255,255,.75)}
@media(max-width:768px){.facts{grid-template-columns:repeat(2,1fr)}}

/* phases */
.phase{overflow:hidden;padding:0}
.phase img{height:12.5rem;width:100%;object-fit:cover}
.phase .body{padding:1.5rem}
.phase .num{font-size:.8rem;font-weight:700;color:var(--blue);letter-spacing:.1em}
.phase p{color:var(--muted);font-size:.95rem;margin:0}


/* news */
.news-card{padding:0;overflow:hidden}
.news-card img{height:13.125rem;width:100%;object-fit:cover}
.news-card .body{padding:1.375rem}
.news-card .tag{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.news-card h3{font-size:1.15rem;margin:0.5rem 0}
.news-card .meta{font-size:.85rem;color:var(--muted)}
.news-card a{color:inherit}

/* team */
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem;max-width:56.25rem;margin:0 auto}
@media(max-width:640px){.team{grid-template-columns:1fr}}
.person{display:flex;gap:1.375rem;align-items:flex-start}
.person img,.person .avatar{width:7.5rem;height:7.5rem;border-radius:50%;object-fit:cover;flex:0 0 7.5rem;border:0.25rem solid var(--blue-50)}
.person .avatar{background:var(--navy);color:#fff;display:grid;place-items:center;font-size:2rem;font-weight:700}
.person .role{color:var(--blue);font-weight:600;font-size:.9rem;margin-bottom:0.5rem}
.person p{color:var(--muted);font-size:.95rem}
.person .li{display:inline-flex;align-items:center;gap:0.375rem;font-size:.85rem;font-weight:600}

/* faq */
details{border-bottom:1px solid var(--line);padding:0.375rem 0}
summary{cursor:pointer;font-weight:600;color:var(--ink);padding:1rem 2.5rem 1rem 0;list-style:none;position:relative;font-size:1.05rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:0.25rem;top:0.75rem;font-size:1.6rem;color:var(--blue);font-weight:300}
details[open] summary::after{content:"–"}
details p{color:var(--muted);padding-bottom:1rem;margin:0}

/* cta */
.cta{position:relative;overflow:hidden;display:grid;grid-template-columns:1.05fr 1fr;min-height:27.5rem;background:var(--navy);color:#fff;border-radius:1.5rem}
.cta-body{position:relative;z-index:2;padding:4rem 3.5rem;display:flex;flex-direction:column;justify-content:center}
.cta-body .panel-mark{margin:0 0 1.375rem}
.cta h2{color:#fff;font-size:clamp(2rem,3.6vw,3rem);max-width:32.5rem;text-wrap:balance}
.cta p{color:rgba(255,255,255,.8);max-width:30rem;margin:0 0 2rem;text-wrap:pretty}
.cta-media{position:relative;background:var(--yellow);clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}
.cta-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% center;clip-path:polygon(calc(18% + 0.75rem) 0,100% 0,100% 100%,0.75rem 100%)}
.cta-media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(31,35,91,.45),rgba(31,35,91,0) 40%);clip-path:polygon(calc(18% + 0.75rem) 0,100% 0,100% 100%,0.75rem 100%)}
@media(max-width:860px){.cta{grid-template-columns:1fr}.cta-media{min-height:15rem;clip-path:polygon(0 14%,100% 0,100% 100%,0 100%);order:-1}.cta-media img{clip-path:polygon(0 calc(14% + 0.625rem),100% 0.625rem,100% 100%,0 100%)}.cta-body{padding:2.5rem 1.75rem 2.75rem}}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:3.5rem}
@media(max-width:900px){.contact{grid-template-columns:1fr}}
form{display:grid;gap:0.875rem}
label{font-weight:600;font-size:.9rem;color:var(--ink)}
input,textarea{width:100%;font:inherit;padding:0.875rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}
input:focus,textarea:focus{outline:2px solid var(--blue-500);border-color:transparent}
.consent{display:flex;gap:0.625rem;align-items:flex-start;font-size:.85rem;color:var(--muted);font-weight:400}
.consent input{width:auto;margin-top:0.25rem}
.form-note{display:none;padding:0.875rem;border-radius:0.625rem;font-size:.95rem}
.form-note.ok{display:block;background:#e6f9ee;color:#0f5132}.form-note.err{display:block;background:#ffdede;color:#842029}
.contact-info p{margin-bottom:1rem}.contact-info b{display:block;color:var(--ink)}

/* footer */
footer{position:relative;overflow:hidden;background:var(--ink);color:rgba(255,255,255,.7);padding:5rem 0 2rem;font-size:.95rem}
.footer-mark{position:absolute;right:-2.5rem;top:-3.75rem;display:flex;gap:0.875rem;transform:rotate(-8deg);pointer-events:none}
.footer-mark i{width:6.875rem;height:16.25rem;background:#fff;opacity:.04;transform:skewX(-14deg)}
.footer-mark i:nth-child(2){opacity:.03}.footer-mark i:nth-child(3){opacity:.02}.footer-mark i:nth-child(4){opacity:.01}
footer .wrap{position:relative}
.footer-top{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:2.5rem}
@media(max-width:860px){.footer-top{grid-template-columns:1fr;gap:2rem}}
.footer-brand p{max-width:21.25rem;margin:0 0 1.25rem}
.footer-mail{display:inline-flex;gap:0.5rem;color:#fff;font-weight:600;font-size:1.1rem;border-bottom:2px solid var(--yellow);padding-bottom:0.25rem}
.footer-mail:hover{color:var(--yellow)}
.offices{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:520px){.offices{grid-template-columns:1fr}}
.office{display:flex;flex-direction:column;gap:0.25rem;padding:1.375rem 1.375rem 1.5rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);background:rgba(255,255,255,.03)}
.office-tag{align-self:flex-start;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--yellow);padding:3px 0.625rem;border-radius:3px;transform:skewX(-10deg);margin-bottom:0.625rem}
.office b{color:#fff;font-size:1.2rem;font-weight:600}
.office span:last-child{font-size:.9rem;line-height:1.5}
footer .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:3rem}
@media(max-width:560px){footer .cols{grid-template-columns:1fr 1fr}}
footer h4{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:0.875rem}
footer ul{list-style:none;padding:0;margin:0}footer li{margin-bottom:0.5rem}
footer a{color:rgba(255,255,255,.8)}footer a:hover{color:var(--yellow)}
footer .bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;font-size:.85rem}
footer .logo img{height:1.5rem;margin-bottom:1.125rem}

/* film band */
.film-band{position:relative;overflow:hidden;min-height:78vh;display:flex;align-items:center;color:#fff;background:var(--ink)}
.film-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-band::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,18,48,.88) 0%,rgba(15,18,48,.55) 45%,rgba(15,18,48,.1) 100%)}
.film-band::after{content:"";position:absolute;z-index:1;left:0;bottom:0;width:42%;height:0.625rem;background:var(--yellow);transform:skewX(-30deg);transform-origin:left bottom}
.film-band .wrap{position:relative;z-index:2;width:100%}
.film-copy{max-width:32.5rem}
.film-copy h2{color:#fff;font-size:clamp(2.2rem,4.5vw,3.6rem)}
.film-copy .eyebrow{color:var(--yellow)}
.film-copy .lead{color:rgba(255,255,255,.85);margin-bottom:1.75rem}
.film-pause{z-index:2}
.film-modal{position:fixed;inset:0;z-index:100;background:rgba(10,12,34,.92);display:none;place-items:center;padding:1.5rem}
.film-modal.open{display:grid}
.film-modal video{width:min(75rem,100%);aspect-ratio:16/9;background:#000;border-radius:var(--radius-sm)}
.film-close{position:absolute;top:1rem;right:1.25rem;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}
.film-close:hover{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
button.btn{font-family:inherit}

/* article */
.article{max-width:47.5rem;margin:0 auto}
.article .hero-img{border-radius:var(--radius);margin:1.75rem 0 2.25rem;box-shadow:var(--shadow)}
.article .meta{color:var(--muted);font-size:.95rem}
.article h1{font-size:clamp(2rem,4.5vw,3rem)}
.article blockquote{border-left:0.25rem solid var(--yellow);margin:1.75rem 0;padding:0.375rem 0 0.375rem 1.375rem;font-size:1.2rem;color:var(--ink);font-style:italic}
.article figure{margin:1.75rem 0}.article figure img{border-radius:var(--radius-sm)}
.article figcaption{font-size:.85rem;color:var(--muted);margin-top:0.5rem}
.page-head{background:var(--bg-2);padding:4rem 0 3rem}
.prose h2{font-size:1.4rem;margin-top:2.25rem}.prose ul{padding-left:1.375rem}.prose li{margin-bottom:0.5rem}
.reveal{opacity:0;transform:translateY(1.125rem);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
