
:root{
  --oxford:#002147;--deep:#03142d;--mid:#0b2e54;--mid2:#102f53;
  --gold:#e7c47b;--goldlight:#f9daa0;--orange:#f18c56;--teal:#7ad4cd;
  --ivory:#fcf8ef;--ink:#f3f6fa;--muted:#b8c9db;
  --line:rgba(230,195,128,.23);--radius:26px;--max:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px;max-width:100%;overflow-x:clip}
body{margin:0;max-width:100%;background:var(--deep);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
::selection{background:var(--gold);color:var(--deep)}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:default}
svg{width:1em;height:1em;flex-shrink:0}
button:focus-visible,a:focus-visible{outline:2px solid var(--goldlight);outline-offset:5px}

/* Bootstrap container tuned to the 1240px design width */
.container{width:100%;max-width:var(--max);padding-left:18px;padding-right:18px}
@media(min-width:680px){.container{padding-left:31px;padding-right:31px}}
@media(min-width:1160px){.container{padding-left:44px;padding-right:44px}}

.eyebrow{color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.23em;text-transform:uppercase}
.title{font-family:'Space Grotesk',sans-serif;line-height:1.02;letter-spacing:-.058em;font-weight:700}
.grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.13;background-image:url('data:image/svg+xml,%3Csvg viewBox=%220 0 160 160%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%22.8%22 numOctaves=%223%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 filter=%22url(%23n)%22 opacity=%22.12%22/%3E%3C/svg%3E')}
#scroll-progress{position:fixed;z-index:105;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--orange),var(--goldlight),var(--teal));box-shadow:0 0 14px rgba(240,190,105,.45)}

/* Hero */
.hero{isolation:isolate;position:relative;min-height:800px;overflow:hidden;background:radial-gradient(ellipse at 82% 40%,#1b4976 0,transparent 42%),radial-gradient(ellipse at 10% 18%,rgba(247,152,94,.08) 0,transparent 50%),linear-gradient(132deg,#002147 5%,#03172f 66%,#061c38 100%)}
.hero::before{content:"";position:absolute;width:700px;height:700px;right:-320px;top:-350px;border:1px solid rgba(239,196,119,.15);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.016),0 0 0 150px rgba(255,255,255,.008)}
.hero::after{content:"IBA";position:absolute;bottom:-130px;left:-80px;font:800 400px/1 'Space Grotesk',sans-serif;letter-spacing:-.14em;opacity:.045;color:#fff;pointer-events:none;z-index:-1}
.hero-inner{position:relative;padding-top:85px;padding-bottom:94px}
.hero-copy{position:relative;z-index:4;min-width:0}
.hero-tag{display:inline-flex;align-items:center;gap:11px;padding:11px 15px;border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,.035);color:var(--goldlight);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;box-shadow:inset 0 1px rgba(255,255,255,.07)}
.hero-tag .spark{height:7px;width:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(231,196,123,.12)}
.hero h1{font:800 clamp(67px,7.5vw,116px)/.9 'Space Grotesk',sans-serif;letter-spacing:-.085em;margin:27px 0 9px;color:var(--ivory);white-space:nowrap}
.hero h1 .dash{color:var(--orange)}
.hero .year{font:700 clamp(58px,6.7vw,94px)/.92 'Space Grotesk',sans-serif;color:var(--goldlight);letter-spacing:-.06em;margin-bottom:26px;text-shadow:0 15px 38px rgba(0,0,0,.19)}
.hero-sub{font-size:clamp(21px,2.15vw,32px);line-height:1.2;letter-spacing:-.04em;font-weight:750;max-width:555px;margin:0 0 22px}
.hero-sub em{font-style:normal;color:var(--goldlight)}
.hero-lede{color:var(--muted);font-size:15px;line-height:1.85;max-width:550px;margin:0 0 27px}
.meta-row{display:flex;flex-wrap:wrap;gap:10px;max-width:560px}
.meta-item{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.042);font-size:12px;font-weight:750;color:#f0f4f7}
.meta-item svg{color:var(--goldlight);font-size:15px}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:33px}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:19px;padding:15px 22px;min-height:55px;border-radius:12px;font-size:13px;font-weight:800;transition:transform .25s,box-shadow .25s,background .25s;border:1px solid transparent;white-space:nowrap}
.cta svg{width:18px;height:18px}
.cta-gold{background:linear-gradient(135deg,#f4d594,#dbaa5e);color:#062044;box-shadow:0 5px 0 #846435,0 18px 35px rgba(0,0,0,.2)}
.cta-gold:hover{transform:translateY(-4px);box-shadow:0 8px 0 #846435,0 24px 38px rgba(0,0,0,.2)}
.cta-ghost{background:rgba(255,255,255,.035);color:var(--ivory);border-color:rgba(238,203,139,.38)}
.cta-ghost:hover{background:rgba(238,203,139,.12);transform:translateY(-3px)}
.hero-stage{position:relative;min-height:540px;width:100%;perspective:1200px;transform-style:preserve-3d}
.hero-gridline{position:absolute;inset:-22px;border:1px solid rgba(234,201,137,.22);border-radius:31px;transform:translate(23px,-15px) rotate(2.5deg);pointer-events:none}
.hero-gridline::after{content:"";position:absolute;inset:14px;border:1px solid rgba(116,212,205,.18);border-radius:26px;transform:rotate(-5deg)}
.hero-photo-shell{height:500px;position:relative;border-radius:25px;overflow:hidden;border:1px solid rgba(231,196,123,.3);box-shadow:0 40px 80px rgba(0,8,23,.43);background:#0a2d53;transform:rotateY(-5deg) rotateX(3deg);will-change:transform;transition:transform .55s ease}
.hero-photo-shell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,14,32,.02) 0%,rgba(0,18,40,.02) 50%,rgba(0,16,36,.46) 100%);pointer-events:none;z-index:2}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .9s ease,transform 5.8s ease}
.hero-photo.is-active{opacity:1;transform:scale(1)}
.hero-float-label{position:absolute;z-index:5;right:-16px;top:-63px;display:flex;align-items:center;gap:12px;padding:14px 19px;background:rgba(7,27,53,.9);border:1px solid rgba(231,196,123,.42);border-radius:14px;backdrop-filter:blur(12px);box-shadow:0 16px 32px rgba(0,0,0,.3);transform:rotate(7deg);animation:soft-float 6.4s ease-in-out infinite}
.hero-float-label .star{font-size:24px;color:var(--goldlight)}
.hero-float-label strong{display:block;font-size:15px;color:#fff}
.hero-date-seal{position:absolute;z-index:5;bottom:-18px;left:-33px;width:154px;height:154px;border-radius:50%;display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,#f3d28f,#dba95d);border:7px solid #071e3d;box-shadow:0 24px 36px rgba(0,0,0,.32),inset 0 2px 0 rgba(255,255,255,.4);transform:rotate(-11deg);animation:soft-float 6.4s ease-in-out -3s infinite}
.hero-date-seal b{font:800 42px/.95 'Space Grotesk',sans-serif;color:#08274b}
.hero-date-seal small{display:block;color:#173254;font-weight:850;font-size:12px;letter-spacing:.2em;margin-top:5px}
.hero-controls{position:absolute;bottom:-80px;right:0px;z-index:1000;display:flex;gap:8px}
.hero-controls button{border:1px solid rgba(232,202,146,.35);background:rgba(2,23,45,.85);color:var(--goldlight);border-radius:50%;height:43px;width:43px;display:grid;place-items:center;transition:background .25s,transform .25s}
.hero-controls button:hover{transform:translateY(-3px);background:#143b62}
.hero-controls button svg{width:18px;height:18px}
@keyframes soft-float{0%,100%{translate:0 0}50%{translate:0 -14px}}

/* Marquee */
.marquee{overflow:hidden;background:linear-gradient(95deg,#e2ad67,#f2d59b 42%,#ddaa66);padding:14px 0;color:#062147;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.3)}
.marquee-track{display:flex;gap:70px;width:max-content;animation:track-left 34s linear infinite}
.marquee-track span{font:800 12px/1.4 'Space Grotesk',sans-serif;letter-spacing:.19em;white-space:nowrap;text-transform:uppercase}
.marquee-track b{margin:0 20px;color:#af5426}
@keyframes track-left{to{transform:translateX(-50%)}}

/* Shared sections */
.section{position:relative;padding:70px 0;isolation:isolate}
.section-title{font:700 clamp(41px,5.1vw,68px)/1.05 'Space Grotesk',sans-serif;letter-spacing:-.065em;margin:17px 0 28px}
.reveal{opacity:1;transform:none}
.motion-on .reveal:not(.is-visible){opacity:0;transform:translateY(22px)}
.motion-on .reveal{transition:opacity .8s ease,transform .8s ease}
.reveal.is-visible{opacity:1;transform:none}

/* Intro */
.introduction{background:linear-gradient(180deg,#03152c,#071f3c)}
.photo-portrait{position:relative;min-height:465px;transform-style:preserve-3d;perspective:1100px}
.photo-portrait::before{content:"";position:absolute;inset:23px -22px -22px 22px;border-radius:26px;border:1px solid var(--line);transform:rotate(3deg)}
.photo-portrait .main-photo{width:100%;height:458px;object-fit:cover;border-radius:25px;border:1px solid rgba(255,255,255,.2);box-shadow:0 25px 66px rgba(0,6,17,.35);display:block}
.photo-corner{position:absolute;right:-35px;bottom:27px;max-width:220px;padding:20px 23px;background:#082b50;border-radius:19px;border:1px solid rgba(237,195,120,.45);box-shadow:0 25px 44px rgba(0,9,24,.3);transform:rotate(6deg)}
.photo-corner .enormous{font:800 40px/1 'Space Grotesk',sans-serif;color:var(--goldlight)}
.photo-corner span{font-size:11px;color:#e6ebee;display:block;line-height:1.6;margin-top:9px}
.intro-copy p{font-size:16px;line-height:1.92;color:var(--muted)}
.intro-copy strong{color:#fff;font-weight:700}

/* Experiences */
.experiences{background:radial-gradient(ellipse at 85% 10%,rgba(32,97,113,.19),transparent 35%),linear-gradient(180deg,#071f3c,#061a33)}
.section-top{display:block;width:100%;margin-bottom:28px}
.section-top .section-title{margin-bottom:0}
.section-top p{max-width:375px;margin:0;color:var(--muted);font-size:15px;line-height:1.85}
.category-card{position:relative;min-height:270px;padding:29px 33px;border-radius:27px;background:linear-gradient(142deg,rgba(25,61,94,.85),rgba(6,30,57,.96));border:1px solid rgba(234,200,141,.22);box-shadow:0 24px 50px rgba(0,8,26,.2),inset 0 1px 0 rgba(255,255,255,.09);overflow:hidden;isolation:isolate;transform-style:preserve-3d;display:flex;flex-direction:column;justify-content:center;--rx:0deg;--ry:0deg;--lift:0px;transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(var(--lift));transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.category-card:hover{--lift:-6px;box-shadow:0 36px 65px rgba(0,6,22,.36);border-color:rgba(247,211,146,.62)}
.category-card::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(450px circle at var(--mx,70%) var(--my,30%),rgba(242,199,123,.15),transparent 60%);opacity:.45;transition:opacity .3s ease}
.category-card:hover::after{opacity:1}
.category-card .glyph{position:absolute;right:0;top:8px;width:170px;height:170px;border-radius:50%;border:1px solid rgba(237,195,121,.24);display:grid;place-items:center;color:rgba(245,214,158,.2);transform:rotate(-13deg);box-shadow:0 0 0 38px rgba(255,255,255,.015),0 0 0 77px rgba(255,255,255,.012);opacity:.8}
.category-card .glyph svg{width:83px;height:83px;stroke-width:1.25}
.category-card h3{font:700 clamp(27px,2.6vw,35px)/1.08 'Space Grotesk',sans-serif;letter-spacing:-.047em;margin:0 0 12px;max-width:76%;position:relative;z-index:2}
.category-card p{color:#c6d5e3;font-size:13.8px;line-height:1.72;max-width:440px;position:relative;z-index:2;margin:0}
.category-card:nth-child(2){background:linear-gradient(146deg,#163854,#052e48)}
.category-card:nth-child(3){background:linear-gradient(146deg,#173a58,#08253f)}
.category-card:nth-child(4){background:linear-gradient(146deg,#193a5b,#0a2948)}

/* Startup booking */
.startups{background:radial-gradient(ellipse at 12% 18%,rgba(191,124,63,.1),transparent 35%),linear-gradient(180deg,#061a33 0%,#06152d 100%)}
.startup-heading{display:block;width:100%;margin-bottom:27px}
.startup-heading .section-title{margin:16px 0 15px;font-size:clamp(29px,3.65vw,55px);line-height:1.12;letter-spacing:-.055em;white-space:nowrap;max-width:none}
.startup-heading p{font-size:15.5px;line-height:1.75;color:var(--muted);margin:0;max-width:1080px}
.startup-heading strong{color:#fff}
.price-card{padding:25px 28px;border-radius:24px;background:linear-gradient(155deg,#123657,#08243f);border:1px solid rgba(235,199,135,.25);position:relative;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.2)}
.price-card.featured{border-color:rgba(246,210,147,.58);background:linear-gradient(145deg,#1c4767,#0c304f)}
.price-card.featured::before{content:"";position:absolute;right:-40px;top:-90px;width:225px;height:225px;border-radius:50%;border:42px solid rgba(247,209,138,.085)}
.price-label{color:#d5e1ec;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;min-height:35px}
.price-number{font:700 clamp(42px,5.2vw,70px)/1 'Space Grotesk',sans-serif;color:var(--goldlight);letter-spacing:-.06em;margin:13px 0 4px}
.price-number sup{font-size:15px;vertical-align:top;letter-spacing:0;margin-right:6px;font-weight:800}
.price-card .per{font-size:12px;color:var(--muted);margin:6px 0 17px}
.price-card .tag{display:inline-flex;align-items:center;padding:8px 12px;border-radius:99px;background:rgba(255,255,255,.065);font-size:11px;font-weight:800;color:#fff;border:1px solid rgba(255,255,255,.12)}
.included{margin:23px 0 0;border:1px solid rgba(236,200,142,.22);border-radius:23px;background:rgba(255,255,255,.025);padding:25px}
.included-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}
.included-top h3{font:700 21px 'Space Grotesk',sans-serif;margin:0;letter-spacing:-.035em}
.included-top span{font-size:11px;color:var(--goldlight);letter-spacing:.12em;text-transform:uppercase;font-weight:750}
.included-item{display:flex;gap:11px;align-items:center;min-width:0;padding:15px 13px;border-radius:13px;background:#102f50;border:1px solid rgba(255,255,255,.07);font-size:12px;font-weight:700}
.included-item svg{font-size:20px;color:var(--goldlight)}
.booking-action{margin-top:22px;padding:21px 26px;background:linear-gradient(100deg,rgba(249,212,145,.14),rgba(255,255,255,.03));border:1px solid rgba(233,197,128,.37);border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.booking-action strong{display:block;font:700 20px 'Space Grotesk',sans-serif;margin-bottom:8px;color:var(--goldlight)}
.booking-action p{color:var(--muted);font-size:13px;margin:0;line-height:1.6}
.booking-action .cta{flex-shrink:0}

/* Gallery */
.gallery{background:linear-gradient(180deg,#06152d,#082447);padding-bottom:70px}
.gallery-top{display:block;width:100%;margin-bottom:25px}
.gallery-top .section-title{margin-bottom:14px}
.gallery-top p{max-width:1080px;color:var(--muted);font-size:15.5px;line-height:1.75;margin:0}
.gallery-tile{position:relative;overflow:hidden;border-radius:20px;border:1px solid rgba(238,199,128,.22);background:#102b4b;box-shadow:0 16px 35px rgba(0,6,22,.3);height:clamp(160px,41vw,205px);cursor:zoom-in;margin:0;min-width:0}
.gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,filter .4s ease}
.gallery-tile:hover img,.gallery-tile:focus-visible img{transform:scale(1.055);filter:saturate(1.08)}
.gallery-tile:focus-visible{outline:3px solid var(--goldlight);outline-offset:4px}
.gallery-tile:nth-child(4) img{object-position:center 35%}
.gallery-tile .label{position:absolute;bottom:13px;left:14px;padding:9px 13px;background:rgba(3,19,41,.8);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:10px;font-size:10px;letter-spacing:.13em;color:#fff;text-transform:uppercase;font-weight:800;pointer-events:none}
@media(min-width:576px){.gallery-tile{height:clamp(170px,24vw,225px)}}
@media(min-width:992px){.gallery-tile{height:clamp(185px,16.5vw,235px)}}

/* Closing */
.closing{background:radial-gradient(ellipse at center top,rgba(213,163,85,.13),transparent 57%),linear-gradient(155deg,#08284c,#03162e);border-top:1px solid rgba(239,199,127,.14);padding:78px 0 43px;text-align:center;overflow:hidden}
.closing .container{position:relative}
.closing::before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:35px;width:min(85vw,820px);height:500px;border-radius:50%;border:1px solid rgba(227,185,118,.16);box-shadow:0 0 0 70px rgba(255,255,255,.008),0 0 0 140px rgba(255,255,255,.006)}
.closing h2{font:800 clamp(52px,7.5vw,102px)/.97 'Space Grotesk',sans-serif;letter-spacing:-.075em;margin:16px auto 23px;max-width:900px}
.closing h2 em{font-style:normal;color:var(--goldlight)}
.closing p{font-size:16px;color:var(--muted);line-height:1.85;max-width:750px;margin:0 auto 21px}
.closing-date{display:inline-flex;gap:10px;align-items:center;color:var(--goldlight);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}
.closing .btn-row{justify-content:center;margin-top:0}
.partner-mark{display:block;margin:39px auto 0;width:min(750px,84%);height:auto;opacity:.94;filter:drop-shadow(0 8px 22px rgba(0,0,0,.25))}

/* Dialogs */
dialog{max-width:480px;width:calc(100% - 32px);padding:33px;border-radius:23px;border:1px solid rgba(238,205,148,.7);background:linear-gradient(145deg,#102f53,#041a36);color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.65)}
dialog::backdrop{background:rgba(0,9,26,.78);backdrop-filter:blur(4px)}
dialog h3{font:700 27px 'Space Grotesk',sans-serif;letter-spacing:-.04em;margin:8px 0 15px}
dialog p{color:var(--muted);font-size:14px;line-height:1.75}
.dialog-close{margin-top:16px}
.photo-lightbox{border:1px solid rgba(243,207,135,.3);padding:0;background:#06172e;color:#fff;border-radius:22px;box-shadow:0 30px 110px rgba(0,0,0,.6);width:min(1000px,94vw);max-width:94vw;max-height:94vh;overflow:hidden}
.photo-lightbox::backdrop{background:rgba(0,9,22,.9);backdrop-filter:blur(8px)}
.photo-lightbox-inner{position:relative;display:flex;flex-direction:column;gap:0;max-height:94vh;padding:20px}
.photo-lightbox .lightbox-image{display:block;max-height:calc(94vh - 114px);min-height:100px;width:100%;height:auto;max-width:100%;object-fit:contain;border-radius:12px;background:#091a31}
.photo-close{position:absolute;top:28px;right:28px;z-index:2;display:grid;place-items:center;cursor:pointer;width:42px;height:42px;border:1px solid rgba(255,255,255,.4);background:rgba(0,21,43,.7);color:#fff;border-radius:50%;font-size:28px;line-height:1}
.lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:61px}
.lightbox-prev,.lightbox-next{flex:0 0 auto;display:grid;place-items:center;cursor:pointer;width:46px;height:40px;border:1px solid rgba(234,198,130,.28);background:#103459;color:var(--goldlight);border-radius:12px;font-size:22px}
.lightbox-label{font-weight:650;color:var(--goldlight);text-align:center;font-size:13px;min-width:0}

.back-top{position:fixed;right:27px;bottom:25px;z-index:35;border:1px solid rgba(234,193,121,.36);border-radius:50%;height:47px;width:47px;background:rgba(5,25,51,.95);color:var(--goldlight);display:grid;place-items:center;box-shadow:0 10px 25px rgba(0,0,0,.23);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .25s,transform .25s}
.back-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.back-top svg{width:20px;height:20px}

/* 2026 layout polish: full-width single-line desktop titles and descriptions below */
.startup-heading .section-title,
.gallery-top .section-title{
  font-size:clamp(29px,3.65vw,55px);
  line-height:1.12;
  letter-spacing:-.055em;
  white-space:nowrap;
  max-width:none;
  margin:0 0 15px;
}
.startup-heading p,
.gallery-top p{
  margin:0;
  max-width:1080px;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.75;
  font-family:inherit;
}

/* Responsive adjustments */
@media(min-width:921px){
  .hero{min-height:700px}
  .hero-inner{min-height:700px;padding-top:57px;padding-bottom:62px}
  .hero-stage{min-height:494px}
  .hero-photo-shell{height:472px}
  .intro-copy .section-title{font-size:clamp(41px,4.1vw,58px)}
}
@media(max-width:1160px){
  .hero h1{font-size:clamp(62px,7.6vw,96px)}
  .hero-stage{min-height:455px}
  .hero-photo-shell{height:435px}
  .photo-corner{right:-15px}
}
@media(max-width:992px){
  .hero-inner{padding-top:54px;padding-bottom:63px}
  .hero h1{font-size:clamp(80px,12vw,126px);white-space:normal}
  .hero .year{font-size:clamp(70px,10.5vw,112px)}
  .hero-sub{max-width:720px}
  .hero-stage{max-width:720px;margin-left:auto;margin-right:auto;min-height:435px}
  .hero-photo-shell{height:421px;transform:none}
  .photo-portrait{max-width:660px;margin-left:auto;margin-right:auto;min-height:434px}
  .photo-portrait .main-photo{height:425px}
  .startup-heading p{max-width:720px}
  .section{padding:58px 0}
}
@media(max-width:920px){
  .startup-heading .section-title,
  .gallery-top .section-title{font-size:clamp(29px,4.35vw,44px);white-space:normal;margin-bottom:18px}
  .startup-heading p,.gallery-top p{max-width:none}
}
@media(max-width:680px){
  .hero-inner{padding-top:39px;padding-bottom:48px}
  .hero-tag{font-size:9px;letter-spacing:.10em;padding:10px 12px}
  .hero h1{font-size:clamp(58px,15vw,90px);margin:13px 0 8px}
  .hero .year{font-size:clamp(56px,14vw,90px);margin-bottom:18px}
  .hero-sub{font-size:24px;margin-bottom:14px}
  .hero-lede{font-size:14px;margin-bottom:20px;line-height:1.7}
  .meta-item{font-size:11px}
  .hero-stage{min-height:322px}
  .hero-gridline{inset:0 0 10px 0;transform:rotate(1deg)}
  .hero-photo-shell{height:309px;border-radius:20px}
  .hero-float-label{right:0;top:16px;padding:10px 12px}
  .hero-float-label strong{font-size:12px}
  .hero-date-seal{width:110px;height:110px;bottom:-11px;left:-8px;border-width:5px}
  .hero-date-seal b{font-size:30px}
  .hero-date-seal small{font-size:9px}
  .hero-controls{right:3px;bottom:-15px}
  .cta{min-height:50px;font-size:12px;padding:12px 17px}
  .btn-row{gap:12px;margin-top:23px}
  .marquee{padding:12px 0}
  .marquee-track span{font-size:10px}
  .section{padding:44px 0}
  .section-title{font-size:clamp(37px,9vw,54px)}
  .intro-copy p{font-size:14px;line-height:1.75}
  .photo-portrait{min-height:331px}
  .photo-portrait .main-photo{height:325px}
  .photo-corner{right:-4px;bottom:12px;max-width:168px;padding:12px 15px}
  .photo-corner .enormous{font-size:27px}
  .section-top,.gallery-top{margin-bottom:21px}
  .section-top p,.gallery-top p{margin-top:0;max-width:550px;font-size:14.5px;line-height:1.7}
  .category-card{min-height:232px;padding:24px 26px}
  .category-card h3{font-size:clamp(27px,7.1vw,32px);margin:0 0 10px;max-width:78%}
  .category-card p{font-size:13.4px;line-height:1.7}
  .category-card .glyph{right:0;top:0;width:136px;height:136px;opacity:.6}
  .startup-heading{margin-bottom:20px}
  .startup-heading .section-title,.gallery-top .section-title{font-size:clamp(30px,7.6vw,42px);margin-bottom:14px}
  .startup-heading p,.gallery-top p{font-size:14.5px;line-height:1.7}
  .price-card{padding:23px 24px}
  .included{margin-top:16px;padding:19px}
  .included-top{display:block;margin-bottom:14px}
  .included-top span{display:block;margin-top:9px}
  .booking-action{padding:19px 21px;display:block}
  .booking-action .cta{margin-top:20px;width:100%}
  .gallery{padding-bottom:49px}
  .gallery-top{margin-bottom:20px}
  .closing{padding:54px 0 33px}
  .closing h2{font-size:clamp(45px,10vw,70px);margin:13px auto 18px}
  .closing p{font-size:14px;line-height:1.7;margin-bottom:18px}
  .closing-date{margin-bottom:15px}
  .partner-mark{margin-top:30px}
  .photo-lightbox-inner{padding:10px}
  .photo-lightbox .lightbox-image{max-height:calc(92vh - 90px)}
  .photo-close{top:16px;right:16px}
  .lightbox-label{font-size:11px}
}
@media(max-width:375px){
  .hero h1{font-size:50px}
  .hero .year{font-size:56px}
  .hero-date-seal{width:97px;height:97px}
  .hero-date-seal b{font-size:28px}
  .included-item{font-size:10px;padding:11px}
  .category-card{min-height:240px}
  .gallery-tile .label{font-size:8px;letter-spacing:.04em;padding:5px 7px}
}
@media(hover:none){.category-card,.hero-photo-shell{transform:none!important}.hero-float-label,.hero-date-seal{animation:none}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .motion-on .reveal:not(.is-visible){opacity:1;transform:none}
  .hero-photo{transform:none}
}
@media print{body{background:#fff!important;color:#002147!important}.hero,.section,.closing{background:#fff!important;color:#002147!important}.marquee,.hero-controls,.back-top,#scroll-progress,.grain{display:none!important}.reveal{opacity:1!important;transform:none!important}}
