:root{--teal-950: #04201f;--teal-900: #072f31;--teal-800: #0b4044;--teal-600: #167079;--cadmium: #ffcc1a;--cadmium-deep: #f0b400;--magenta: #e6128a;--cream: #fff8e4;--ink: #0a2a2c;--radius: 18px;--serif: "Fraunces", Georgia, serif;--sans: "Figtree", system-ui, sans-serif;--gutter: clamp(16px, 4vw, 48px)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--cream);color:var(--ink);font:400 1.05rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.05;margin:0 0 .5em;letter-spacing:-.01em}h2{font-size:clamp(2rem,4.6vw,3.4rem)}h3{font-size:1.5rem}p{margin:0 0 1em}.wrap{width:min(1200px,100% - 2 * var(--gutter));margin-inline:auto}section{padding-block:clamp(56px,9vw,112px)}.eyebrow{font:700 .78rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--magenta);margin-bottom:1rem;display:block}.on-dark .eyebrow{color:var(--cadmium)}.btn{display:inline-block;padding:.85em 1.6em;border-radius:999px;text-decoration:none;font-weight:700;font-size:.95rem;letter-spacing:.02em;border:2px solid transparent;transition:transform .15s,background .15s,color .15s}.btn:hover{transform:translateY(-2px)}.btn-yellow{background:var(--cadmium);color:var(--teal-950)}.btn-yellow:hover{background:#ffe066}.btn-magenta{background:var(--magenta);color:#fff}.btn-magenta:hover{background:#ff2da0}.btn-ghost{border-color:currentColor}.btn-ghost:hover{background:#ffffff1f}.announce{background:var(--magenta);color:#fff;text-align:center;font-size:.88rem;font-weight:600;padding:.55rem var(--gutter)}.announce a{text-decoration:underline;text-underline-offset:3px}header.site{position:sticky;top:0;z-index:20;background:var(--teal-900);color:var(--cream);border-bottom:3px solid var(--cadmium)}header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:1rem}.brand{font:600 1.35rem var(--serif);text-decoration:none;color:var(--cadmium);white-space:nowrap}.brand span{color:var(--magenta)}nav ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}nav a{text-decoration:none;font-weight:600;font-size:.92rem}nav a:hover{color:var(--cadmium)}.menu-btn{display:none;background:none;border:2px solid var(--cadmium);color:var(--cadmium);border-radius:999px;padding:.35em 1em;font:700 .85rem var(--sans);cursor:pointer}@media(max-width:960px){.menu-btn{display:block}nav{position:absolute;inset:64px 0 auto;background:var(--teal-900);display:none;padding:1rem var(--gutter) 1.5rem;border-bottom:3px solid var(--cadmium)}nav.open{display:block}nav ul{flex-direction:column;gap:1rem}nav a{font-size:1.1rem}}.hero{background:var(--teal-900);color:var(--cream);padding-block:clamp(48px,7vw,96px);overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:var(--teal-800);right:-140px;top:-160px}.hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;position:relative}.hero h1{font-size:clamp(2.8rem,7.4vw,6rem);color:var(--cadmium);margin-bottom:.3em;line-height:.98}.hero h1 em{font-style:italic;color:var(--magenta);font-weight:500}.hero .lede{font-size:1.2rem;max-width:34ch;opacity:.92}.hero .cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.hero .tag{font:700 .8rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--cream);opacity:.75;margin-top:2.2rem}.stack{position:relative;aspect-ratio:1 / 1.05}.stack img{position:absolute;border-radius:10px;object-fit:cover;border:6px solid var(--cream);box-shadow:0 20px 50px #0006}.stack .a{width:56%;aspect-ratio:3/4;left:0;top:4%;transform:rotate(-5deg)}.stack .b{width:52%;aspect-ratio:2/3;right:0;top:0;transform:rotate(4deg);border-color:var(--cadmium)}.stack .c{width:50%;aspect-ratio:3/4;left:24%;bottom:0;transform:rotate(-1.5deg);border-color:var(--magenta)}@media(max-width:860px){.hero .wrap{grid-template-columns:1fr}.stack{max-width:460px;margin-inline:auto;width:100%}}.marquee{background:var(--cadmium);color:var(--teal-950);overflow:hidden;white-space:nowrap;padding:.9rem 0;font:600 1.25rem var(--serif);font-style:italic}.marquee div{display:inline-block;animation:slide 36s linear infinite}.marquee span{margin:0 1.2rem}.marquee b{color:var(--magenta);font-style:normal}@keyframes slide{to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.marquee div{animation:none}html{scroll-behavior:auto}}.section-head{max-width:640px;margin-bottom:3rem}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}.tile{background:#fff;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 0 var(--teal-900);border:2px solid var(--teal-900);transition:transform .2s,box-shadow .2s}.tile:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--magenta)}.tile img{aspect-ratio:4/5;object-fit:cover;width:100%}.tile .body{padding:1.1rem 1.2rem 1.4rem;display:flex;flex-direction:column;flex:1}.tile h3{font-size:1.3rem;margin-bottom:.3rem}.tile p{font-size:.94rem;opacity:.85;flex:1}.tile .price{font:700 1.05rem var(--sans);color:var(--magenta);margin-bottom:.8rem}.tile .btn{align-self:flex-start;padding:.6em 1.3em;background:var(--teal-900);color:var(--cadmium)}.tile .btn:hover{background:var(--magenta);color:#fff}@media(max-width:1000px){.tiles{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.tiles{grid-template-columns:1fr}}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,80px);align-items:center}.split.flip>:first-child{order:2}.split img{border-radius:var(--radius);width:100%;object-fit:cover}@media(max-width:860px){.split{grid-template-columns:1fr}.split.flip>:first-child{order:0}}.checks{list-style:none;padding:0;margin:0 0 1.6rem}.checks li{padding-left:1.8rem;position:relative;margin-bottom:.5rem}.checks li:before{content:"✦";position:absolute;left:0;color:var(--magenta)}.price-big{font:600 2.4rem var(--serif);color:var(--magenta);margin:.4rem 0 1.2rem}.price-big small{font:500 1rem var(--sans);color:var(--ink);opacity:.7}.photo-frame{position:relative}.photo-frame:after{content:"";position:absolute;inset:14px -14px -14px 14px;border:3px solid var(--magenta);border-radius:var(--radius);z-index:-1}.on-dark{background:var(--teal-900);color:var(--cream)}.on-dark h2{color:var(--cadmium)}.cards2{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2rem}.rcard{border:2px solid var(--cadmium);border-radius:var(--radius);padding:2rem;background:var(--teal-800);display:flex;flex-direction:column}.rcard.hot{background:var(--cadmium);color:var(--teal-950);border-color:var(--cadmium)}.rcard h3{margin-bottom:.2rem}.rcard .price{font:600 2.6rem var(--serif);color:var(--magenta);margin:0 0 .8rem}.rcard:not(.hot) .price{color:var(--cadmium)}.rcard .btn{margin-top:auto;align-self:flex-start}.rcard.hot .btn{background:var(--teal-950);color:var(--cadmium)}@media(max-width:700px){.cards2{grid-template-columns:1fr}}.quote{font:italic 500 1.3rem/1.5 var(--serif);border-left:4px solid var(--magenta);padding-left:1.2rem;margin:1.5rem 0}.steps{counter-reset:s;display:grid;gap:1rem;margin:1.5rem 0 2rem;padding:0;list-style:none}.steps li{counter-increment:s;padding-left:3.2rem;position:relative}.steps li:before{content:counter(s);position:absolute;left:0;top:-.1rem;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--magenta);color:#fff;font:700 1rem/2.2rem var(--sans);text-align:center}.sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1.2rem 0 .6rem}.sizes div{background:var(--teal-900);color:var(--cream);border-radius:14px;padding:1rem .5rem;text-align:center}.sizes b{display:block;font:600 1.6rem var(--serif);color:var(--cadmium)}.sizes span{font-size:.85rem;opacity:.8}.fine{font-size:.88rem;opacity:.75}.dates{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.6rem 0}.date{background:var(--cadmium);color:var(--teal-950);border-radius:16px;padding:1.1rem;text-align:center}.date b{display:block;font:600 2.6rem/1 var(--serif)}.date span{font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.date:nth-child(2){background:var(--magenta);color:#fff}.date:nth-child(3){background:var(--cream)}.where{font-weight:600}@media(max-width:500px){.dates{grid-template-columns:1fr}}.gallery{columns:4 240px;column-gap:14px}.gallery button{display:block;width:100%;margin:0 0 14px;padding:0;border:0;border-radius:12px;overflow:hidden;cursor:zoom-in;background:var(--teal-900);break-inside:avoid}.gallery img{width:100%;transition:transform .35s,opacity .2s}.gallery button:hover img{transform:scale(1.04);opacity:.92}dialog{border:0;padding:0;background:transparent;max-width:96vw;max-height:96vh;overflow:visible}dialog::backdrop{background:#04201feb}dialog img{max-height:88vh;max-width:94vw;border-radius:10px;margin-inline:auto}dialog p{color:var(--cream);text-align:center;font-size:.9rem;margin:.8rem 0 0}dialog .close{position:absolute;right:0;top:-2.6rem;background:var(--cadmium);border:0;border-radius:999px;padding:.4em 1.1em;font:700 .85rem var(--sans);cursor:pointer}.about{background:var(--cadmium)}.about h2{color:var(--teal-950)}.about .eyebrow{color:var(--teal-900)}.about .quote{border-color:var(--magenta)}.about img{border:6px solid var(--teal-900)}.contact{text-align:center}.contact .logo{width:min(320px,70%);margin:0 auto 2rem;border-radius:14px}.contact h2{margin-bottom:.4em}.contact p{max-width:52ch;margin-inline:auto}.contact .cta{display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}footer{background:var(--teal-950);color:var(--cream);padding:1.6rem var(--gutter);text-align:center;font-size:.85rem;opacity:.95}footer b{color:var(--magenta)}.about .split>div:last-child{position:sticky;top:100px}.about img{aspect-ratio:4 / 5;object-fit:cover;object-position:top}
