:root{--bg:#dedad3;--surface:#d3cec6;--surface-2:#c9c3b9;--ink:#0a0a0a;--muted:#514d47;--accent:#1f4a36;--accent-press:#17382a;--accent-ink:#ffffff;--red:#9e2f25;--red-ink:#fbf6ef;--paper:#ecebe7;--font:var(--font-montserrat),"Helvetica Neue",Arial,sans-serif;--step-small:clamp(0.875rem,0.84rem + 0.12vw,0.9375rem);--step-body:clamp(1.0625rem,1.02rem + 0.2vw,1.1875rem);--step-lead:clamp(1.25rem,1.1rem + 0.6vw,1.5rem);--step-head:clamp(2rem,1.4rem + 2.4vw,3.25rem);--step-display:clamp(5.5rem,12vw,12.5rem);--step-big:clamp(3rem,7vw,7.5rem);--margin:clamp(16px,2.2vw,32px);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.76,0,0.24,1)}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--step-body);line-height:1.6;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--accent-ink)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}h1,h2,h3{font-weight:300;letter-spacing:-.02em;line-height:1.08}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:56px;padding:0 28px;background:var(--accent);color:var(--accent-ink);font-size:var(--step-body);font-weight:500;transition:background .18s ease,transform .12s var(--ease-out)}.btn:hover{background:var(--accent-press)}.btn:active{transform:scale(.98)}.btn[disabled]{opacity:.55;cursor:progress}.btn-ghost{background:var(--surface);color:var(--ink)}.btn-ghost:hover{background:var(--surface-2)}.split{display:grid;grid-template-columns:47fr 53fr}.stage{position:-webkit-sticky;position:sticky;top:0;height:100svh;padding:20px 0 20px 20px}.stage-inner{position:relative;height:100%;overflow:hidden;background:var(--surface)}.scene{position:absolute;inset:0;opacity:0;transition:opacity .7s var(--ease-out)}.scene.on{opacity:1}.scene>img.photo{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 8s linear}.scene.on>img.photo{transform:scale(1)}.scene-shirt{display:grid;place-items:center;background:#d5d0c7}.scene-caption{position:absolute;left:20px;bottom:18px;right:20px;font-size:var(--step-small);color:var(--ink)}.col{padding:0 clamp(24px,4.5vw,72px) 0 clamp(24px,4vw,64px);min-width:0}.nav{display:flex;justify-content:flex-end;align-items:center;gap:clamp(14px,1.8vw,28px);padding-top:32px;font-size:var(--step-small)}.nav a{text-decoration:none}.nav a:hover{text-decoration:underline}.nav .nav-cta{font-weight:500;color:var(--accent)}.nav .brand-sm,.nav .menu-only{display:none}.hero{position:relative;min-height:calc(100svh - 70px);display:flex;flex-direction:column;justify-content:center;padding-bottom:6vh}.hero-text{max-width:30ch;font-size:var(--step-lead);line-height:1.45;margin-top:clamp(40px,7vh,72px)}.hero-text strong{font-weight:500}.hero-meta{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}.hero-meta p{font-size:var(--step-small);color:var(--muted);max-width:26ch;line-height:1.45}.wordmark{order:-1;transform-origin:left top}.wordmark img{width:min(100%,36vw);height:auto}@supports (animation-timeline:scroll()){.wordmark{animation:shrink linear both;animation-timeline:scroll(root);animation-range:0 90svh}@keyframes shrink{to{transform:scale(.93);opacity:.85}}}.block{padding-top:clamp(96px,14vh,180px)}.block h2{font-size:var(--step-head);max-width:18ch}.block .intro{margin-top:18px;max-width:46ch}.builder{margin-top:48px;display:flex;flex-direction:column;gap:44px}.mobile-preview{display:none}.group>.label{font-size:var(--step-lead);font-weight:400;margin-bottom:6px}.group>.hint{color:var(--muted);font-size:var(--step-small);margin-bottom:16px;max-width:48ch;line-height:1.5}.tabs{display:flex;gap:4px;margin-bottom:18px;flex-wrap:wrap}.tab{border:0;cursor:pointer;background:var(--surface);padding:12px 18px;font-size:var(--step-small);transition:background .15s ease}.tab:hover{background:var(--surface-2)}.tab[aria-pressed=true]{background:var(--ink);color:var(--bg)}.drop{position:relative;display:grid;grid-template-columns:112px 1fr;grid-gap:20px;gap:20px;align-items:center;background:var(--paper);padding:18px;cursor:pointer;transition:background .15s ease}.drop.over,.drop:hover{background:#fbf8f2}.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop .thumb{width:112px;height:112px;background:var(--surface);display:grid;place-items:center;overflow:hidden}.drop .thumb img{width:100%;height:100%;object-fit:contain}.drop .thumb span{font-size:40px;line-height:1;color:var(--muted)}.drop strong{display:block;font-weight:500}.drop small{display:block;color:var(--muted);font-size:var(--step-small);line-height:1.45;margin-top:4px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:var(--step-small);color:var(--muted)}.input,.select,.textarea{width:100%;background:var(--paper);border:0;border-bottom:2px solid var(--surface-2);padding:14px;font-size:var(--step-body);border-radius:0;outline:none;transition:border-color .15s ease,background .15s ease}.input:focus,.select:focus,.textarea:focus{border-bottom-color:var(--accent);background:#fbf8f2}.textarea{min-height:120px;resize:vertical;line-height:1.5}.row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.people{display:flex;flex-direction:column;gap:6px}.person{display:grid;grid-template-columns:minmax(110px,1fr) auto minmax(110px,1.2fr) 44px;grid-gap:10px;gap:10px;align-items:center;background:var(--paper);padding:10px 10px 10px 14px;cursor:pointer;border-left:4px solid transparent;transition:border-color .15s ease,background .15s ease}.person:hover{background:#f7f3ec}.person.active{border-left-color:var(--accent);background:#fbf8f2}.person .input,.person .select{padding:10px;font-size:var(--step-small);background:var(--bg)}.swatches{display:flex;gap:6px}.swatch{width:36px;height:36px;border-radius:50%;border:2px solid var(--surface-2);cursor:pointer;transition:transform .12s var(--ease-out)}.swatch:hover{transform:scale(1.08)}.swatch[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:3px}.remove{width:44px;height:44px;border:0;background:transparent;cursor:pointer;font-size:24px;color:var(--muted);transition:color .15s ease,background .15s ease}.remove:hover{color:var(--red);background:var(--bg)}.remove:disabled{opacity:.3;cursor:default}.add{margin-top:8px;width:100%;min-height:52px;border:0;cursor:pointer;background:var(--surface);font-size:var(--step-small);transition:background .15s ease}.add:hover{background:var(--surface-2)}.summary{background:var(--ink);color:var(--bg);padding:28px}.summary .line{display:flex;justify-content:space-between;gap:12px;font-size:var(--step-small);color:#cfcac1}.summary .line+.line{margin-top:6px}.summary .total{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 14px;font-size:var(--step-head);font-weight:300;letter-spacing:-.02em;color:var(--bg);line-height:1.1}.summary .total span:first-child{font-size:var(--step-lead)}.summary .nudge{margin-top:10px;font-size:var(--step-small);color:#cfcac1}.summary .btn{width:100%;margin-top:22px;background:var(--bg);color:var(--ink)}.summary .btn:hover{background:#fff}.summary .err{color:#ffb4a8;min-height:1.4em}.summary .err,.summary .fine{margin-top:12px;font-size:var(--step-small)}.summary .fine{color:#cfcac1;line-height:1.5}.tee{position:relative}.tee,.tee>img.base{width:100%;height:100%}.tee>img.base{object-fit:contain}.tee-print{position:absolute;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;transition:width .35s var(--ease-out),top .35s var(--ease-out)}.tee-print .art{width:100%;display:flex;justify-content:center}.tee-print .art img{max-width:100%;width:auto;height:auto;object-fit:contain}.tee-print .placeholder{width:100%;height:100%;display:grid;place-items:center;text-align:center;font-size:clamp(13px,1vw,15px);line-height:1.3;padding:8%;background:rgba(10,10,10,.08)}.tee-print .t1{font-weight:600;letter-spacing:-.01em;line-height:1.05}.tee-print .t1,.tee-print .t2{text-align:center;white-space:nowrap}.tee-print .t2{font-weight:500;line-height:1;opacity:.9}.tee-box{position:relative;aspect-ratio:896/1200;height:100%;max-width:100%;margin:0 auto}.itinerary{background:var(--surface);margin-top:clamp(96px,14vh,180px);padding:clamp(40px,6vw,72px) clamp(24px,4vw,56px)}.itinerary h2{font-size:var(--step-head);max-width:14ch}.itinerary .intro{margin-top:16px;max-width:40ch}.slip{margin-top:40px;background:var(--paper);max-width:480px;padding:28px 28px 52px;font-size:var(--step-small);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-webkit-clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),95% 100%,90% calc(100% - 14px),85% 100%,80% calc(100% - 14px),75% 100%,70% calc(100% - 14px),65% 100%,60% calc(100% - 14px),55% 100%,50% calc(100% - 14px),45% 100%,40% calc(100% - 14px),35% 100%,30% calc(100% - 14px),25% 100%,20% calc(100% - 14px),15% 100%,10% calc(100% - 14px),5% 100%,0 calc(100% - 14px));clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),95% 100%,90% calc(100% - 14px),85% 100%,80% calc(100% - 14px),75% 100%,70% calc(100% - 14px),65% 100%,60% calc(100% - 14px),55% 100%,50% calc(100% - 14px),45% 100%,40% calc(100% - 14px),35% 100%,30% calc(100% - 14px),25% 100%,20% calc(100% - 14px),15% 100%,10% calc(100% - 14px),5% 100%,0 calc(100% - 14px))}.slip h3{font-size:var(--step-small);font-weight:500;letter-spacing:0;margin-top:28px}.slip h3:first-child{margin-top:0}.slip .row{display:flex;align-items:baseline;gap:8px;margin-top:8px;line-height:1.4}.slip .row .what{flex:0 1 auto}.slip .row .dots{flex:1 1 auto;min-width:16px;height:4px;align-self:center;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4'%3E%3Ccircle cx='2' cy='2' r='1.5' fill='%23514d47'/%3E%3C/svg%3E") 0 50% /8px 4px repeat-x}.slip .row .when{flex:0 0 auto;color:var(--muted);white-space:nowrap}.slip .final{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:28px -28px 0;padding:0 28px;min-height:48px;background:var(--ink);color:var(--paper);font-weight:500}.pricing{display:grid;grid-template-columns:5fr 7fr}.plan{min-height:88svh;padding:40px var(--margin) 40px clamp(24px,3.5vw,56px);display:grid;grid-template-rows:auto auto minmax(220px,1fr) auto auto;grid-gap:18px;gap:18px}.plan .pic{width:100%;height:100%;min-height:0;object-fit:cover;object-position:50% 30%;margin:6px 0}.plan h2{font-size:var(--step-head);font-weight:300}.plan .who{font-size:var(--step-lead);max-width:26ch;line-height:1.4}.plan .incl{align-self:end;max-width:40ch}.plan .foot{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}.plan .price{font-size:var(--step-big);font-weight:200;letter-spacing:-.04em;line-height:.85}.plan .price small{font-size:var(--step-body);letter-spacing:0;font-weight:400;margin-left:10px}.plan-kid{background:var(--red);color:var(--red-ink)}.plan-adult{background:var(--accent);color:var(--accent-ink)}.plan .btn{background:var(--bg);color:var(--ink)}.plan .btn:hover{background:#fff}.rows{background:var(--bg)}.rows .r{font-weight:200;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;align-items:center;min-height:clamp(84px,11vh,120px);padding:16px var(--margin) 16px clamp(20px,3vw,48px);font-size:clamp(2rem,4vw,3.75rem);line-height:1.05;letter-spacing:-.02em;text-decoration:none}.rows .r:nth-child(odd){background:var(--surface)}.rows .r .info{display:flex;align-items:center;gap:20px;font-size:var(--step-body);font-weight:400;letter-spacing:0;color:var(--ink);text-align:right;line-height:1.4}.rows .r .round{width:clamp(64px,8vw,120px);height:clamp(64px,8vw,120px);flex:none;border-radius:50%;object-fit:cover;align-self:center}.rows a.r:hover .go{transform:translateX(6px)}.rows .go{display:inline-grid;place-items:center;width:2em;height:2em;border-radius:50%;vertical-align:.15em;background:var(--accent);color:var(--accent-ink);font-size:.42em;line-height:1;transition:transform .2s var(--ease-out)}.rows-head{padding:clamp(96px,14vh,180px) var(--margin) 40px clamp(20px,3vw,48px);display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;align-items:end}.rows-head h2{font-size:var(--step-head)}.rows-head p{max-width:44ch}.faq{display:grid;grid-template-columns:3fr 9fr;grid-gap:32px;gap:32px;padding:clamp(96px,14vh,180px) var(--margin) clamp(96px,14vh,180px) clamp(20px,3vw,48px)}.faq h2{font-size:var(--step-head);max-width:10ch}.faq .notes{column-count:2;column-gap:56px;line-height:1.55}.faq .notes p{page-break-inside:avoid;break-inside:avoid;margin-bottom:20px}.faq .notes b{font-weight:500}.footer{display:grid;grid-template-columns:1fr 1fr;min-height:100svh;background:var(--ink);color:var(--bg)}.footer .pic{position:relative;overflow:hidden}.footer .pic img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.footer .menu{padding:80px clamp(24px,4vw,72px) 32px;display:flex;flex-direction:column}.footer .brand img{width:clamp(150px,14vw,220px);height:auto}.footer nav{display:flex;flex-direction:column;gap:20px;margin-top:48px}.footer nav a{font-size:var(--step-head);font-weight:300;text-decoration:none;letter-spacing:-.02em;transition:transform .2s var(--ease-out),color .2s ease}.footer nav:hover a{color:#8f8a82}.footer nav a:hover{color:var(--bg);transform:translateX(12px)}.footer .info{margin-top:64px;display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;font-size:var(--step-small);color:#cfcac1}.footer .legal{margin-top:auto;padding-top:48px;font-size:var(--step-small);color:#a7a198;line-height:1.5;max-width:60ch}.footer .legal a{color:inherit}.dialog{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:rgba(10,10,10,.55);animation:fade .25s var(--ease-out)}.dialog-card{background:var(--bg);width:100%;max-width:520px;max-height:calc(100svh - 32px);overflow:auto;padding:clamp(24px,4vw,40px);box-shadow:0 30px 80px rgba(0,0,0,.35);animation:rise .35s var(--ease-out)}.dialog-card h2{font-size:var(--step-head)}.dialog-card .code{font-size:var(--step-lead);margin-top:10px}.dialog-card .qr{display:grid;grid-template-columns:150px 1fr;grid-gap:20px;gap:20px;align-items:center;margin:24px 0;background:var(--paper);padding:16px}.dialog-card .qr img{width:150px;height:150px;background:#fff}.dialog-card .qr p{font-size:var(--step-small);line-height:1.5}.dialog-card .actions{display:flex;flex-direction:column;gap:8px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.reveal>*{transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.js .reveal:not(.in)>*{opacity:0;transform:translateY(24px)}.reveal.in>:nth-child(2){transition-delay:80ms}.reveal.in>:nth-child(3){transition-delay:.16s}.reveal.in>:nth-child(4){transition-delay:.24s}.reveal.in>:nth-child(5){transition-delay:.32s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation:none!important}.js .reveal:not(.in)>*{opacity:1;transform:none}.scene>img.photo{transform:none}}@media (max-width:960px){.split{grid-template-columns:1fr}.stage{position:relative;height:58svh;padding:12px 12px 0}.stage .scene{display:none}.stage .scene.mobile{display:block;opacity:1}.col{padding:0 20px}.nav{position:absolute;top:0;left:0;right:0;padding:24px 24px 0;justify-content:space-between;z-index:3}.nav a:not(.nav-cta):not(.brand-sm){display:none}.nav .brand-sm{display:inline-flex;background:var(--bg);padding:8px 12px}.nav .brand-sm img{height:18px;width:auto}.nav .nav-cta{background:var(--accent);color:var(--accent-ink);padding:8px 12px}.hero{min-height:auto;padding:0 0 8px}.wordmark{margin-top:28px;animation:none}.wordmark img{width:72vw;margin-left:0}.hero-text{margin-top:20px;font-size:var(--step-lead)}.mobile-preview{display:block;position:-webkit-sticky;position:sticky;top:0;z-index:5;height:44svh;background:#d5d0c7;margin:0 -20px;padding:8px 0 26px}.mobile-preview .scene-caption{left:20px;bottom:6px}.pricing{grid-template-columns:1fr}.plan{min-height:0;padding:28px 20px;grid-template-rows:auto auto 56vw auto auto}.plan-adult{order:-1}.plan .foot .btn{width:100%}.rows-head{grid-template-columns:1fr;padding-left:20px;padding-right:20px}.rows .r{font-size:8vw;min-height:0;padding:18px 16px;flex-direction:column;align-items:flex-start;gap:6px}.rows .r .info{text-align:left;font-size:var(--step-small)}.rows .r .round{display:none}.faq{grid-template-columns:1fr;padding-left:20px;padding-right:20px}.faq .notes{column-count:1}.footer{grid-template-columns:1fr}.footer .pic{height:50svh}.footer .menu{padding:40px 20px 28px}}@media (max-width:560px){.person{grid-template-columns:1fr auto 40px}.person .name-in{grid-column:1/-1;grid-row:2}.row2{grid-template-columns:1fr}.drop{grid-template-columns:84px 1fr}.drop .thumb{width:84px;height:84px}.dialog-card .qr,.footer .info{grid-template-columns:1fr}.dialog-card .qr{justify-items:center;text-align:center}}.fields{display:flex;flex-direction:column;gap:44px}.reveal.in>:nth-child(n+6){transition-delay:.38s}.tee-print .t1{margin-top:4cqi}.tee-print .t2{margin-top:1.5cqi}.designs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:4px;gap:4px}.design{display:grid;grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,1fr);min-width:0;text-align:left;border:0;cursor:pointer;background:var(--paper);padding:0 0 12px;font:inherit;color:inherit;transition:background .15s ease,outline-color .15s ease;outline:2px solid transparent;outline-offset:-2px}.design:hover{background:#fbf8f2}.design[aria-pressed=true]{outline-color:var(--ink)}.design .pic{aspect-ratio:1;background:var(--accent);display:grid;place-items:center;padding:12%;overflow:hidden}.design .pic img{width:100%;height:100%;object-fit:contain}.design .nm{padding:10px 12px 0;font-weight:500}.design .bl{padding:2px 12px 0;font-size:var(--step-small);color:var(--muted);line-height:1.4}.tee-print img.composed{width:100%;height:auto;display:block}.letras{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:4px;gap:4px}.letra{display:grid;grid-gap:6px;gap:6px;text-align:left;border:0;cursor:pointer;background:var(--paper);color:inherit;padding:14px 14px 12px;min-width:0;font:inherit;outline:2px solid transparent;outline-offset:-2px;transition:background .15s ease,outline-color .15s ease}.letra:hover{background:#fbf8f2}.letra[aria-pressed=true]{outline-color:var(--ink)}.letra .smp{font-size:19px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--accent)}.letra .nm{font-size:var(--step-small);color:var(--muted)}.dialog-card.pay{position:relative;max-width:620px}.dialog-card .x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:var(--muted);padding:6px 10px}.dialog-card .x:hover{color:var(--ink)}.dialog-card .methods{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;margin-top:24px}.dialog-card .method{display:grid;grid-gap:6px;gap:6px;text-align:left;border:0;cursor:pointer;background:var(--paper);color:inherit;font:inherit;padding:20px 18px;min-height:120px;align-content:start;transition:background .15s ease}.dialog-card .method:hover{background:#fbf8f2}.dialog-card .method:disabled{cursor:wait;opacity:.7}.dialog-card .method strong{font-size:var(--step-lead);font-weight:500}.dialog-card .method span{font-size:var(--step-small);color:var(--muted);line-height:1.45}.dialog-card .pay-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-right:36px}.dialog-card .timer{font-size:clamp(2rem,5vw,2.75rem);font-weight:300;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--accent)}.dialog-card .timer.soon{color:var(--red)}.dialog-card .timer.late{color:var(--muted)}.dialog-card .qr{grid-template-columns:200px 1fr}.dialog-card .qr img{width:200px;height:200px}.dialog-card .qr ol{margin:0;padding-left:20px;font-size:var(--step-small);line-height:1.55;display:grid;grid-gap:6px;gap:6px}.dialog-card .card-pay{margin:24px 0;background:var(--paper);padding:18px;display:grid;grid-gap:12px;gap:12px}.dialog-card .card-pay p{font-size:var(--step-small);color:var(--muted)}.dialog-card .warn{background:#f3e2c4;padding:12px 14px;font-size:var(--step-small);line-height:1.5;margin-bottom:12px}.dialog-card .drop.receipt{margin-top:4px}.dialog-card .drop.receipt.busy{opacity:.7;cursor:wait}.dialog-card .err{color:var(--red);font-size:var(--step-small);min-height:1.4em;margin-top:10px}.dialog-card .lead-sm{margin:16px 0 24px;line-height:1.55}@media (max-width:640px){.dialog-card .methods,.dialog-card .qr{grid-template-columns:1fr}.dialog-card .qr{justify-items:center}.dialog-card .qr img{width:180px;height:180px}}