:root{--ink:#100b1e;--paper:#faf8ff;--violet:#6134e8;--pink:#ff4fc9;--sky:#aab8ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.55 'DM Sans',sans-serif;overflow-x:hidden}.star-field{position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(circle at 14% 16%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 82% 10%,#fff9 0 1px,transparent 1.5px),radial-gradient(circle at 57% 45%,#fff8 0 1px,transparent 1.5px),radial-gradient(circle at 91% 73%,#fff7 0 1px,transparent 1.5px);background-size:230px 190px,370px 290px,460px 340px,280px 230px}.header{height:86px;display:flex;align-items:center;justify-content:space-between;max-width:1320px;margin:auto;padding:0 42px;position:relative;z-index:5}.brand{color:white;text-decoration:none;font-size:1.05rem;font-weight:700;letter-spacing:.24em}.brand span{color:var(--pink)}.nav{display:flex;gap:34px}.nav a{color:#fff;text-decoration:none;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;opacity:.8}.nav a:hover{opacity:1}.menu-button{display:none}.hero{min-height:calc(100vh - 86px);max-width:1320px;margin:auto;padding:70px 42px 78px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;position:relative}.eyebrow,.section-label{color:#eeb4ff;font-size:.72rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.hero h1,h2{font:600 clamp(3.1rem,6.4vw,6.4rem)/.98 'Playfair Display',serif;letter-spacing:-.055em;margin:18px 0 26px}em{color:#c6ccff;font-weight:600}.hero-text{max-width:480px;color:#d3cce2;font-size:1.08rem}.button{display:inline-flex;align-items:center;gap:32px;margin-top:25px;padding:15px 20px 15px 24px;background:var(--pink);color:#17031b;text-decoration:none;font-weight:700;border-radius:3px}.button span{font-size:1.35rem}.hero-visual{height:520px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #b390ff50;border-radius:50%;transform:rotate(-26deg)}.orbit-one{width:430px;height:210px}.orbit-two{width:260px;height:470px;transform:rotate(43deg)}.card{position:absolute;width:220px;height:330px;border-radius:13px}.card-back{background:repeating-linear-gradient(45deg,#2c1b80 0 6px,#a859e4 6px 8px);transform:translate(-42px,11px) rotate(-17deg);box-shadow:0 30px 70px #0007}.card-front{background:linear-gradient(135deg,#f2f3ff,#b9b8f0);color:#32246e;transform:rotate(9deg);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 30px 70px #0008}.card-front span{font:700 9rem/.7 'Playfair Display',serif}.card-front small{letter-spacing:.22em;font-size:.56rem;margin-top:26px}.card-front b{position:absolute;top:24px;right:24px;font-size:1.4rem}.floating-note{position:absolute;right:4%;bottom:10%;font-size:.68rem;line-height:1.5;letter-spacing:.16em;color:#e9d4ff}.scroll-cue{position:absolute;bottom:24px;left:42px;color:#d1c6ea;text-decoration:none;text-transform:uppercase;font-size:.67rem;letter-spacing:.13em}.scroll-cue span{font-size:1.1rem;margin-left:10px}.section{max-width:1320px;margin:auto;padding:130px 42px}.about{border-top:1px solid #ffffff26}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:start}.about h2,.gallery h2,.contact h2{font-size:clamp(2.8rem,5vw,5.2rem)}.about-copy{padding-top:20px;color:#d5cede;font-size:1.08rem}.about-copy p{margin:0 0 22px}.magic-types{display:flex;flex-wrap:wrap;gap:12px;margin-top:55px}.magic-types span{padding:10px 15px;border:1px solid #ffffff30;border-radius:30px;color:#d9c3ff;font-size:.8rem}.gallery{background:#f4f0ff;color:#170c28;max-width:none;padding-left:max(42px,calc((100vw - 1236px)/2));padding-right:max(42px,calc((100vw - 1236px)/2))}.gallery .section-label{color:#7257b3}.gallery h2 em{color:#5834cb}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-start}.gallery-grid{margin-top:62px;display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:260px;gap:18px}.photo{overflow:hidden;margin:0;background:#d6ceeb}.photo.tall{grid-row:span 2}.photo.wide{grid-column:span 2}.photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.06);transition:transform .6s ease}.photo:hover img{transform:scale(1.04)}.contact{position:relative;overflow:hidden}.contact-glow{position:absolute;width:700px;height:700px;border-radius:50%;right:-240px;top:-330px;background:radial-gradient(circle,#7a47ff80,transparent 67%)}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;position:relative}.contact-grid p{color:#d5cede;max-width:520px;font-size:1.07rem}.contact-actions{align-self:end;padding-bottom:12px}.contact-actions a{display:flex;justify-content:space-between;color:white;text-decoration:none;border-bottom:1px solid #ffffff55;padding:16px 0;font:600 clamp(1.35rem,2.4vw,2.2rem) 'Playfair Display',serif}.contact-actions a span{color:var(--pink)}.contact-actions p{font-size:.86rem;margin-top:22px}footer{border-top:1px solid #ffffff24;max-width:1320px;margin:auto;padding:30px 42px;display:flex;align-items:center;justify-content:space-between;color:#afa3bf;font-size:.75rem;letter-spacing:.05em}footer p{margin:0}@media(max-width:760px){.header{height:70px;padding:0 22px}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#1b1232;padding:24px;flex-direction:column;gap:18px}.nav.open{display:flex}.menu-button{display:flex;gap:5px;flex-direction:column;background:none;border:0;padding:9px}.menu-button i{display:block;width:23px;height:1px;background:#fff}.hero{min-height:unset;padding:68px 22px 100px;display:block}.hero h1{font-size:3.7rem}.hero-visual{height:360px;margin-top:30px;transform:scale(.8);transform-origin:center}.scroll-cue{left:22px}.section{padding:80px 22px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:20px}.gallery{padding:80px 22px}.gallery-heading{display:block}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px;margin-top:38px}.photo.tall{grid-row:span 2}.photo.wide{grid-column:span 2}.contact h2{margin-top:18px}footer{padding:28px 22px;gap:15px;flex-wrap:wrap}}

.gallery-intro{margin:-10px 0 0;color:#685789;max-width:360px}.photo{border:0;padding:0;text-align:left;cursor:zoom-in;position:relative}.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,#170c28ba 100%);opacity:.35;transition:opacity .35s}.photo:hover::after{opacity:1}.photo-caption{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:20px;color:#fff;font-weight:600;opacity:0;transform:translateY(10px);transition:.35s}.photo:hover .photo-caption{opacity:1;transform:none}.photo-caption small{display:block;color:#e6ccff;letter-spacing:.14em;font-size:.65rem;margin-bottom:2px}.photo-caption b{float:right;font-size:1.25rem}.gallery-hint{margin:24px 0 0;text-align:right;color:#685789;font-size:.76rem;letter-spacing:.07em;text-transform:uppercase}.gallery-hint span{color:#5633ce;font-size:1.1rem}.lightbox{max-width:min(1000px,92vw);max-height:90vh;border:0;background:#160d28;padding:12px;box-shadow:0 25px 100px #000b}.lightbox::backdrop{background:#12091ee8;backdrop-filter:blur(8px)}.lightbox img{display:block;max-width:100%;max-height:78vh;object-fit:contain}.lightbox p{margin:10px 4px 0;color:#f4efff;font-size:.9rem}.lightbox-close{position:absolute;right:18px;top:18px;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#25143d;font-size:1.65rem;line-height:1;cursor:pointer}@media(max-width:760px){.gallery-intro{margin-top:-10px}.photo-caption{opacity:1;transform:none;padding:14px;font-size:.82rem}.photo::after{opacity:.8}.gallery-hint{text-align:left}.lightbox{padding:8px}.lightbox-close{right:14px;top:14px}}
