:root { --blue:#17478f; --deep:#102d5f; --red:#e6513e; --mint:#23a98a; --sky:#dfeefa; --cream:#f7f3ec; --ink:#10213b; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
a { color:inherit; }
.site-header { height:94px; padding:0 clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; background:rgba(247,243,236,.94); position:sticky; top:0; z-index:10; backdrop-filter:blur(12px); border-bottom:1px solid rgba(23,71,143,.1); }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--blue); font-family:Arial,sans-serif; font-weight:600; letter-spacing:-.05em; }
.brand-words { font-size:20px; line-height:.85; max-width:92px; } .brand-words strong { font-weight:800; } .amp { color:var(--red); font-size:1.35em; } .brand-city { font-size:12px; letter-spacing:.12em; color:var(--red); font-weight:800; }
nav { display:flex; align-items:center; gap:32px; } nav a { text-decoration:none; font-weight:600; font-size:14px; } .nav-cta { padding:12px 20px; border:1.5px solid var(--blue); border-radius:100px; }
.hero { min-height:calc(100vh - 94px); position:relative; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); align-items:center; overflow:hidden; padding:0; background:linear-gradient(150deg,#dcecf8 0%,#f6f4e9 70%,#f7d7c7 100%); }
.hero-image { align-self:stretch; min-height:680px; margin:0; position:relative; overflow:hidden; grid-column:2; grid-row:1; background:#bfd9ec; }
.hero-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(246,244,233,.34),transparent 22%),linear-gradient(0deg,rgba(16,45,95,.16),transparent 30%); pointer-events:none; }
.hero-image img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 38%; }
.hero-content { position:relative; z-index:1; max-width:850px; grid-column:1; grid-row:1; padding:90px clamp(42px,7vw,120px); }.eyebrow { text-transform:uppercase; letter-spacing:.14em; font-weight:800; color:var(--red); font-size:14px; margin:0 0 22px; }
h1,h2 { font-family:Arial,sans-serif; letter-spacing:-.055em; margin:0; color:var(--blue); } h1 { font-size:clamp(58px,8.2vw,126px); line-height:.86; } h2 { font-size:clamp(44px,5.7vw,82px); line-height:.98; }
.lead { font-size:clamp(20px,2.1vw,30px); line-height:1.35; max-width:680px; margin:34px 0; font-weight:500; }.hero-actions { display:flex;align-items:center;gap:30px;flex-wrap:wrap }.button { display:inline-block;text-decoration:none;padding:17px 25px;border-radius:100px;font-weight:700 }.button-primary { background:var(--red);color:white;box-shadow:0 10px 30px rgba(230,81,62,.25) }.text-link { font-weight:700;text-decoration:none;border-bottom:1px solid;padding-bottom:4px }
.date-card { position:absolute;z-index:2;right:clamp(20px,3.5vw,58px);bottom:38px;width:170px;aspect-ratio:1;background:var(--blue);color:#fff;border:4px solid rgba(255,255,255,.75);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(7deg);box-shadow:0 20px 60px rgba(16,45,95,.3) }.date-card strong {font:800 68px/1 Manrope}.date-card span {font-size:12px;letter-spacing:.15em;font-weight:800}
.section { padding:clamp(80px,10vw,150px) clamp(24px,8vw,120px); }.intro { display:grid;grid-template-columns:1fr 3fr;gap:60px;background:#fff }.section-label { writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;letter-spacing:.2em;font-weight:800;color:var(--mint);font-size:13px }.large-copy {font-size:clamp(21px,2.4vw,34px);line-height:1.35;max-width:800px;margin:36px 0 70px}.principles {display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid #cbd7e5;padding-top:32px}.principles span {color:var(--red);font-weight:800}.principles h3 {font:800 27px Manrope;margin:15px 0}.principles p {line-height:1.65;color:#445268;margin:0}
.event { background:var(--deep);color:#fff;display:grid;grid-template-columns:1fr 1.25fr;gap:80px }.event h2 {color:white}.event-details {display:grid;gap:18px}.detail-block {display:flex;gap:24px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.2)}.detail-icon {font-size:30px;color:#71d0bc}.detail-block h3 {margin:0 0 8px;font:800 22px Manrope}.detail-block p {margin:0;line-height:1.55;color:#d8e3f2}.detail-block a {display:inline-block;margin-top:10px;color:#71d0bc;font-weight:700}.calendar-card {margin-top:20px;padding:30px;background:var(--red);text-decoration:none;display:grid;gap:7px;border-radius:3px;transition:transform .2s}.calendar-card:hover {transform:translateY(-4px)}.calendar-card span,.calendar-card small {font-weight:700}.calendar-card strong {font:800 clamp(32px,4vw,55px) Manrope;letter-spacing:-.04em}
.contact { background:var(--sky);display:grid;grid-template-columns:1fr 1fr;gap:60px }.contact-options {display:grid;align-content:center}.contact-options a {display:flex;justify-content:space-between;gap:20px;text-decoration:none;padding:25px 0;border-bottom:1px solid rgba(23,71,143,.28);font-size:18px}.contact-options span {color:var(--red);font-weight:800}.contact-options strong {font-family:Manrope}.contact-note {grid-column:2;max-width:540px;line-height:1.6;color:#445268}
footer {padding:45px clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff;font-size:13px;color:#5e697a}.brand-footer {filter:grayscale(1);opacity:.72}footer p {margin:0}.legal-links{display:flex;gap:18px}.legal-links a{font-size:13px;text-decoration:underline;text-underline-offset:3px}
.legal-header .back-link{font-weight:700;text-decoration:none}.legal-main{max-width:900px;margin:0 auto;padding:clamp(70px,9vw,125px) 24px}.legal-main h1{font-size:clamp(48px,7vw,86px);margin-bottom:50px}.legal-main h2{font-size:clamp(25px,3vw,36px);letter-spacing:-.025em;margin:44px 0 14px}.legal-main h3{font-size:19px;margin:30px 0 10px}.legal-main p,.legal-main li{font-size:17px;line-height:1.72;color:#33445c}.legal-main ul{padding-left:22px}.legal-main a{color:var(--blue)}.legal-notice{padding:20px 24px;border-left:5px solid var(--red);background:#fff1ed;margin:0 0 40px}.legal-notice strong{color:#9d2c20}.legal-meta{color:#66758a;font-size:14px!important;margin-top:55px!important}
@media (max-width:800px) { .site-header {height:76px}.site-header nav a:not(.nav-cta){display:none}.hero{min-height:0;grid-template-columns:1fr;align-items:start}.hero-image{grid-column:1;grid-row:1;min-height:0;height:64vh;max-height:650px}.hero-image img{object-position:center 32%}.hero-image::after{background:linear-gradient(0deg,rgba(16,45,95,.18),transparent 35%)}.hero-content{grid-column:1;grid-row:2;padding:55px 24px 110px}.date-card{width:125px;right:20px;bottom:28px}.date-card strong{font-size:49px}.intro,.event,.contact{grid-template-columns:1fr}.section-label{writing-mode:horizontal-tb;transform:none}.principles{grid-template-columns:1fr;gap:28px}.contact-note{grid-column:1}.event{gap:50px}.contact-options a{display:grid}footer{align-items:flex-start;flex-direction:column} }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
