@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--paper:#f7f4ec;--ink:#31463a;--muted:#617066;--accent:#526c53;--line:#31463a30;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04}h1{font-size:clamp(64px,7.5vw,112px);letter-spacing:-3px;margin-bottom:24px}h2{font-size:clamp(43px,4.6vw,68px);letter-spacing:-1.5px;margin-bottom:24px}h3{font-size:32px;letter-spacing:-.5px;margin-bottom:16px}em{font-weight:400}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a,button{touch-action:manipulation}.skip{position:absolute;top:-100px;left:20px;z-index:20;background:var(--paper);color:var(--ink);padding:12px}.skip:focus{top:12px}.shell{max-width:1440px;margin:auto;padding-inline:6%}.site-header{height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:30px}.brand{font-family:Georgia,serif;font-size:22px;letter-spacing:3px;line-height:1.1;white-space:nowrap}.brand span{display:block;font:9px var(--sans);letter-spacing:3.8px;margin-top:7px}.desktop-nav{display:flex;align-items:center;gap:26px;font-size:12px}.desktop-nav a{padding-block:14px;border-bottom:1px solid transparent}.desktop-nav a[aria-current=page]{border-color:currentColor}.header-link{font-size:12px;white-space:nowrap;border-bottom:1px solid currentColor;padding:12px 0}.mobile-nav{display:none;position:relative;font-size:13px}.mobile-nav summary{cursor:pointer;list-style:none;padding:12px 0;min-height:44px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary::after{content:' +';margin-left:8px}.mobile-nav[open] summary::after{content:' −'}.mobile-nav nav{position:absolute;right:0;top:100%;width:215px;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:12px;z-index:10;box-shadow:0 15px 40px #0002}.mobile-nav a{display:block;padding:12px}.mobile-nav a[aria-current=page]{font-weight:700}.eyebrow{font:600 11px/1.4 var(--sans);letter-spacing:2.2px;text-transform:uppercase;margin-bottom:26px}.hero-description{max-width:410px;font-size:16px;line-height:1.8;color:var(--muted)}.action{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:15px 22px;border:1px solid var(--accent);background:var(--accent);color:var(--paper);font-size:12px;min-height:48px;cursor:pointer}.action:hover{filter:brightness(1.1)}.image-note{font:10px/1.5 var(--sans);letter-spacing:.4px;opacity:.7;margin:10px 0 0}.section{padding-block:100px}.intro-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.intro-layout>p{color:var(--muted);max-width:470px;margin-top:48px;line-height:1.9}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px}.detail-grid article{border-top:1px solid var(--line);padding-top:25px}.detail-number{font:11px var(--sans);letter-spacing:2px;display:block;margin-bottom:30px;color:var(--muted)}.detail-grid p{font-size:14px;line-height:1.8;color:var(--muted)}.vision-section{padding-block:80px;border-top:1px solid var(--line)}.vision-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.vision-copy>p:not(.eyebrow){max-width:390px;color:var(--muted);font-size:14px}.brief-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-content:start}.brief-form label{display:block;font-size:12px}.brief-form input,.brief-form select{display:block;width:100%;margin-top:8px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:12px;border-radius:0;min-height:48px}.brief-form .wide{grid-column:1/-1}.brief-form .action{width:100%}.brief-note{color:var(--muted);font-size:11px;line-height:1.6;margin:0}.brief-status{font-size:12px;margin:0}.occasion-switcher{padding-block:50px;border-top:1px solid var(--line)}.occasion-switcher>p{font-size:10px;letter-spacing:2px;text-transform:uppercase}.occasion-switcher nav{display:flex;flex-wrap:wrap;gap:16px 36px;font:26px var(--serif)}.occasion-switcher a{padding:8px 0}.occasion-switcher a[aria-current=page]{opacity:.5}.site-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;padding-block:35px;font-size:11px;color:var(--muted)}.site-footer a{border-bottom:1px solid var(--line)}.site-footer p{margin:0}.faq-list{border-top:1px solid var(--line);margin-top:40px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;padding:22px 0;font:26px var(--serif);min-height:48px}.faq-list p{max-width:650px;color:var(--muted);font-size:14px;padding-bottom:15px}

/* Weddings: an ivory editorial spread, framed by soft woodland greens. */
.wedding-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:7%;padding-block:65px 60px;align-items:center}.wedding-copy{padding-block:30px}.wedding-copy .eyebrow{color:var(--accent)}.wedding-copy h1 em{color:#71816a}.wedding-photo{height:640px;border-radius:48% 48% 2px 2px;overflow:hidden}.wedding-photo img{object-position:50% center}.wedding-signature{display:flex;align-items:center;gap:15px;margin-top:36px;font:italic 23px var(--serif);color:var(--accent)}.wedding-signature::before{content:'';height:1px;width:45px;background:var(--accent)}.wedding-ribbon{background:#e8ecdf;border-block:1px solid var(--line);display:flex;justify-content:center;flex-wrap:wrap;gap:18px 55px;padding:24px 6%;font:italic 23px var(--serif)}.wedding-story{background:#e9edde}.wedding-story .shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;align-items:center}.wedding-story .seal{border:1px solid #526c5360;border-radius:50%;width:220px;height:220px;display:grid;place-content:center;margin:auto;text-align:center;font:58px var(--serif)}.seal small{font:10px var(--sans);letter-spacing:3px;margin-top:8px}.wedding-story p:not(.eyebrow){color:var(--muted);max-width:480px;font-size:14px;line-height:1.9}

/* Tea ceremony: vermilion lacquer, antique gold, and a quiet ceremonial rhythm. */
.tea-page{--paper:#f6efe2;--ink:#571f24;--muted:#78575a;--accent:#7b252d;--line:#571f2430}.tea-page .site-header{background:#4a161d;color:#f5e9d3;border-color:#d8b56940}.tea-page .site-header .mobile-nav nav{background:#4a161d;color:#f5e9d3}.tea-hero{background:#4a161d;color:#f6ecd8;position:relative;min-height:700px;isolation:isolate;overflow:hidden;display:flex;align-items:center}.tea-hero>img{position:absolute;inset:0;z-index:-2;object-position:center}.tea-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#321115f2 0%,#321115c2 36%,#32111530 72%),linear-gradient(0deg,#32111555,transparent)}.tea-hero .shell{width:100%;padding-block:65px}.tea-emblem{display:grid;place-items:center;width:65px;height:65px;border:1px solid #d3b06c;border-radius:50%;font:37px Georgia,serif;color:#e1c58b;margin-bottom:34px}.tea-hero .eyebrow{color:#e1c58b}.tea-hero h1{font-size:clamp(62px,7.2vw,105px);max-width:680px}.tea-hero h1 em{color:#e4c588}.tea-hero .hero-description{color:#eeddd0;max-width:390px}.tea-hero .action{background:#e1c58b;border-color:#e1c58b;color:#4a161d}.tea-hero .image-note{color:#ead7ba;margin-top:32px}.tea-ribbon{display:flex;justify-content:space-between;align-items:center;padding-block:28px;border-bottom:1px solid var(--line);font:22px var(--serif);gap:30px}.tea-ribbon span:first-child{font:10px var(--sans);letter-spacing:2px;color:var(--muted)}.tea-ritual{background:#6b242a;color:#f5e9d3}.tea-ritual .eyebrow{color:#e1c58b}.tea-ritual .detail-grid{gap:50px}.tea-ritual .detail-grid article{border-color:#e1c58b50}.tea-ritual .detail-number{color:#d9b975}.tea-ritual .detail-grid p{color:#e6cdd0}.tea-ritual h2{max-width:620px}.tea-quote{text-align:center;padding-block:85px;max-width:850px}.tea-quote>p{font:italic clamp(31px,3.7vw,51px)/1.22 var(--serif)}.tea-quote>span{font-size:10px;letter-spacing:2px;color:var(--muted)}

/* XV años: a luminous invitation with an arched ballroom and royal details. */
.xv-page{--paper:#fcf6f6;--ink:#65445f;--muted:#856d81;--accent:#805c79;--line:#805c792d;background:radial-gradient(ellipse at 20% 8%,#f5e5ef 0%,transparent 45%),var(--paper)}.xv-page .site-header{border-color:#b38fa53b}.xv-hero{text-align:center;padding-block:45px 0;position:relative;overflow:hidden}.xv-crown{color:#9d7b49;margin-bottom:15px;display:flex;justify-content:center}.xv-crown svg{width:55px;height:36px}.xv-hero .eyebrow{color:#806172;margin-bottom:20px}.xv-hero h1{font-size:clamp(64px,7.2vw,108px);max-width:850px;margin:0 auto 23px}.xv-hero h1 em{color:#9a7390}.xv-hero .hero-description{margin:0 auto 28px;max-width:480px}.xv-hero .action{border-radius:30px}.xv-photo-frame{position:relative;margin:52px auto 0;max-width:1000px;padding:12px 12px 0;border:1px solid #bd9b76;border-bottom:none;border-radius:340px 340px 0 0}.xv-photo{height:510px;border-radius:330px 330px 0 0;overflow:hidden}.xv-photo img{object-position:50% 48%}.xv-photo-frame .image-note{position:absolute;bottom:18px;left:20px;right:20px;color:#fff;text-shadow:0 1px 6px #000;text-align:center}.xv-stars{position:absolute;inset:80px 6% auto;display:flex;justify-content:space-between;color:#b9955a;font-size:28px;pointer-events:none}.xv-stars span:last-child{padding-top:120px;font-size:18px}.xv-intro{text-align:center;border-top:1px solid var(--line);padding-block:90px 20px}.xv-intro h2{max-width:650px;margin-inline:auto}.xv-intro>p:not(.eyebrow){max-width:550px;margin:0 auto;color:var(--muted);font-size:15px;line-height:1.9}.xv-details{padding-block:35px 90px}.xv-details .detail-grid{gap:30px}.xv-details article{text-align:center;background:#f0e6ee;border:0;border-radius:120px 120px 3px 3px;padding:65px 30px 35px}.xv-details .detail-number{color:#97774f}.xv-details h3{font-size:34px}.xv-wish{background:#e9dbe8;padding-block:80px;text-align:center}.xv-wish h2{max-width:690px;margin:0 auto 20px}.xv-wish p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:520px;margin:auto}.xv-page .vision-section .action{border-radius:30px}

/* Corporate: graphic type, electric color, and a sharper, more dynamic grid. */
.corporate-page{--paper:#12151d;--ink:#f3f4f6;--muted:#b4b9c7;--accent:#d5ff7f;--line:#ffffff28;--serif:'Manrope',sans-serif}.corporate-page .brand{font-family:Georgia,serif}.corporate-page h1,.corporate-page h2,.corporate-page h3{font-weight:700}.corporate-page .site-header{height:90px}.corporate-page .header-link{color:var(--accent)}.corporate-page .action{color:#12151d;font-weight:700}.corporate-page .mobile-nav nav{background:#1b202c}.corporate-hero{position:relative;isolation:isolate;min-height:750px;overflow:hidden;display:flex;align-items:center}.corporate-hero>img{position:absolute;inset:0;z-index:-2;object-position:65% center}.corporate-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c101bf5,#0c101bc7 37%,#0c101b24 78%),linear-gradient(0deg,#12151d,transparent 35%)}.corporate-hero .shell{width:100%;padding-block:75px 45px}.corporate-hero .eyebrow{color:var(--accent)}.corporate-hero h1{font-size:clamp(62px,7.3vw,106px);letter-spacing:-5px;line-height:.99;text-transform:uppercase;max-width:800px}.corporate-hero h1 span{color:var(--accent)}.corporate-hero .hero-description{color:#d5d9e4;max-width:420px}.corporate-hero .image-note{color:#ced5e4;margin-top:55px}.corporate-strip{background:var(--accent);color:#151a24;padding:25px 6%;display:flex;justify-content:center;flex-wrap:wrap;gap:18px 40px;font:700 12px var(--sans);text-transform:uppercase;letter-spacing:1.7px}.corporate-strip span::before{content:'↗';margin-right:12px}.corporate-page .intro-layout h2{font-size:clamp(38px,4.4vw,64px);letter-spacing:-2.5px}.corporate-page .detail-grid article{padding:28px;background:#1c2230;border-top:2px solid var(--accent)}.corporate-page .detail-number{color:var(--accent)}.corporate-page .detail-grid h3{font-size:25px;line-height:1.2;letter-spacing:-.7px}.corporate-page .detail-grid p{margin:0}.corporate-process{background:#1a202c;border-block:1px solid var(--line)}.corporate-process .shell{display:grid;grid-template-columns:1fr 1fr;gap:12%}.corporate-process h2{font-size:clamp(37px,4vw,57px);letter-spacing:-2px}.process-list{padding:0;margin:0;list-style:none;counter-reset:steps}.process-list li{border-top:1px solid var(--line);padding:21px 0;display:grid;grid-template-columns:35px 1fr;gap:10px;font-size:13px;color:var(--muted);counter-increment:steps}.process-list li::before{content:'0' counter(steps);color:var(--accent);font-size:11px;padding-top:2px}.process-list strong{display:block;color:var(--ink);font-size:15px;margin-bottom:5px}.corporate-page .vision-copy h2{font-size:clamp(38px,4vw,58px);letter-spacing:-2px}.corporate-page .brief-form select option{background:#12151d;color:#f3f4f6}.corporate-page .occasion-switcher nav{font-size:20px;font-weight:600}

@media(min-width:1500px){.shell{padding-inline:70px}}
@media(max-width:1050px){.desktop-nav{gap:18px}.site-header{gap:18px}.header-link{display:none}.wedding-hero{gap:5%;grid-template-columns:1fr 1fr}.wedding-photo{height:570px}.detail-grid{gap:24px}.corporate-hero h1{letter-spacing:-3px}}
@media(max-width:760px){.shell{padding-inline:6%}.site-header{height:86px}.desktop-nav{display:none}.mobile-nav{display:block}.brand{font-size:20px}.brand span{font-size:8px}.section{padding-block:65px}h1{letter-spacing:-2px}h2{letter-spacing:-1px}.intro-layout,.vision-layout{grid-template-columns:1fr;gap:18px}.intro-layout>p{margin-top:0;max-width:none}.detail-grid{gap:20px}.detail-grid h3{font-size:28px}.vision-section{padding-block:60px}.vision-copy>p:not(.eyebrow){max-width:none}.brief-form{margin-top:15px}.wedding-hero{grid-template-columns:1fr;padding-top:38px;gap:35px}.wedding-copy{text-align:center;padding:0}.wedding-copy h1{font-size:76px}.wedding-copy .hero-description{margin-inline:auto;max-width:460px}.wedding-signature{justify-content:center}.wedding-photo{height:480px;max-width:560px;margin:auto;width:100%}.wedding-story .shell{grid-template-columns:1fr;gap:40px}.wedding-story .seal{width:150px;height:150px;font-size:43px}.wedding-story .shell>div:last-child{text-align:center}.wedding-story p:not(.eyebrow){margin-inline:auto}.tea-hero{min-height:720px}.tea-hero::after{background:linear-gradient(90deg,#321115ed,#32111580),linear-gradient(0deg,#32111560,transparent)}.tea-hero h1{font-size:78px}.tea-ribbon{align-items:flex-start;flex-direction:column;gap:8px;font-size:21px}.tea-ritual .detail-grid{gap:24px}.tea-quote{padding-block:60px}.xv-photo{height:420px}.xv-photo-frame{margin-top:42px}.xv-stars{inset:100px 5% auto;font-size:20px}.xv-stars span:last-child{padding-top:80px;font-size:14px}.xv-hero h1{font-size:76px}.xv-details .detail-grid{gap:18px}.xv-details article{padding:48px 20px 20px}.xv-intro{padding-top:65px}.corporate-page .site-header{height:86px}.corporate-hero{min-height:700px}.corporate-hero h1{font-size:74px;letter-spacing:-3px}.corporate-process .shell{grid-template-columns:1fr;gap:25px}.corporate-page .detail-grid article{padding:22px}.occasion-switcher{padding-block:35px}.occasion-switcher nav{gap:10px 24px;font-size:24px}}
@media(max-width:540px){.detail-grid{grid-template-columns:1fr;margin-top:30px;gap:25px}.detail-number{margin-bottom:16px}.detail-grid article{padding-top:22px}.detail-grid p{margin-bottom:0}.site-header{gap:10px}.brand{font-size:18px;letter-spacing:2.5px}.brand span{letter-spacing:3px}.mobile-nav{font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:22px}h1{font-size:62px}h2{font-size:43px}.wedding-copy h1{font-size:65px}.wedding-photo{height:440px}.wedding-ribbon{gap:10px 20px;font-size:19px}.tea-hero{min-height:720px}.tea-hero .shell{padding-block:48px}.tea-hero h1{font-size:66px}.tea-hero>img{object-position:60% center}.tea-emblem{width:55px;height:55px;font-size:32px;margin-bottom:28px}.tea-ritual .detail-grid{gap:30px}.xv-hero h1{font-size:65px;max-width:350px}.xv-stars{inset:110px 4% auto}.xv-photo-frame{padding:7px 7px 0;border-radius:180px 180px 0 0}.xv-photo{height:365px;border-radius:170px 170px 0 0}.xv-details article{max-width:420px;margin:auto;width:100%;padding:50px 30px 32px;border-radius:100px 100px 3px 3px}.xv-wish{padding-block:60px}.corporate-hero{min-height:690px}.corporate-hero h1{font-size:clamp(52px,13vw,68px);letter-spacing:-2.5px}.corporate-hero .shell{padding-top:52px}.corporate-strip{gap:15px 22px;font-size:10px}.brief-form{grid-template-columns:1fr}.brief-form .wide{grid-column:auto}.site-footer{flex-direction:column;gap:10px}.occasion-switcher nav{font-size:23px}.corporate-page .occasion-switcher nav{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
