:root{--paper:#201c19;--ink:#fff1df;--muted:#cbbbac;--olive:#f29b5b;--line:#544136;--sand:#30251f;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--olive);outline-offset:5px}header{height:110px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;flex-direction:column}.brand-name{font-size:25px;letter-spacing:4px;line-height:1.3}.brand-dot{color:var(--olive)}.brand-caption{font-size:8px;letter-spacing:2px;margin-top:5px}nav{display:flex;gap:35px;font-size:12px}.header-actions{display:flex;align-items:center;gap:30px}.languages{display:flex;gap:9px;font-size:10px}.languages button{border:0;background:none;padding:4px 0;color:var(--muted);cursor:pointer}.languages button[aria-pressed=true]{color:var(--ink);border-bottom:1px solid}.header-cta{font-size:12px;border-bottom:1px solid var(--ink);padding:8px 0}.header-cta span{margin-left:20px}.menu{display:none}.hero{display:grid;grid-template-columns:46% 54%;min-height:680px}.hero-copy{padding:82px 11% 35px}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2.3px;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Italiana',Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-2px}h1{font-size:clamp(60px,6.6vw,105px);margin-bottom:28px}em{font-family:Georgia,serif;font-weight:400;color:var(--olive);font-size:.94em}h2{font-size:clamp(42px,4vw,65px);margin-bottom:26px}.intro{max-width:340px;color:var(--muted);font-size:13px}.button{display:flex;justify-content:space-between;align-items:center;gap:32px;width:fit-content;min-width:225px;background:var(--olive);color:#201c19;border:0;padding:17px 22px;font-size:11px;cursor:pointer;margin-top:30px}.button:hover{background:#ffb77e}.hero-bottom{display:flex;align-items:center;gap:13px;font-size:9px;color:var(--muted);margin-top:64px}.little-line{width:30px;height:1px;background:var(--olive)}.hero-image{position:relative;min-height:600px;overflow:hidden}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover}.image-label{position:absolute;bottom:30px;left:30px;right:100px;display:flex;gap:25px;color:white;font-size:9px;letter-spacing:1.5px;text-shadow:0 1px 4px #333}.round-link{position:absolute;right:25px;bottom:24px;background:var(--paper);border-radius:50%;width:47px;height:47px;display:grid;place-items:center;font-size:22px}.values{display:flex;align-items:center;justify-content:space-evenly;background:var(--sand);padding:23px 5%;font-family:Georgia,serif;font-size:17px}.values i{font-size:15px;color:var(--olive);font-style:normal}.section{padding:100px 8%;scroll-margin-top:20px}.about{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.about-photo{position:relative;padding-bottom:26px}.about-photo img{width:100%;height:460px;object-fit:cover}.photo-note{position:absolute;bottom:0;right:0;font-family:Georgia,serif;font-style:italic;font-size:13px}.about-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:410px}.text-link{display:flex;justify-content:space-between;width:200px;border-bottom:1px solid var(--ink);padding:13px 0;margin-top:20px;font-size:11px}.services{background:#30251f}.section-top{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:50px}.section-top h2{margin-bottom:0}.section-top>p{max-width:300px;font-size:12px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.service-grid article{border-top:1px solid var(--line);padding-top:22px}.number{font-size:10px;letter-spacing:2px;color:var(--olive)}h3{font-family:'Italiana',Georgia,serif;font-weight:400;font-size:30px;margin:22px 0 14px}.service-grid p{color:var(--muted);font-size:12px;min-height:86px}.service-grid a{font-size:11px;border-bottom:1px solid var(--line);padding-bottom:8px;display:flex;justify-content:space-between}.gallery{display:grid;grid-template-columns:1.25fr 1fr;gap:35px;align-items:start}figure{margin:0}.gallery figure:nth-child(2){margin-top:75px}.gallery img{width:100%;height:480px;object-fit:cover}.gallery figure:nth-child(2) img{height:400px}.gallery figcaption{display:flex;justify-content:space-between;align-items:center;margin-top:15px;gap:15px}.gallery figcaption>span{font-family:Georgia,serif;font-size:18px}.gallery small{font-size:8px;letter-spacing:1.3px;color:var(--muted)}.demo-note{font-size:10px;color:var(--muted);margin:30px 0 0}.process{padding-top:25px;padding-bottom:95px;text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:50px}.steps article>span{font-family:Georgia,serif;color:var(--olive);font-size:15px}.steps h3{font-size:25px}.steps p{font-size:12px;color:var(--muted);max-width:250px;margin:auto}.contact{background:var(--sand);display:grid;grid-template-columns:1fr 1fr;gap:13%}.contact>div>p:not(.eyebrow){max-width:340px;font-size:13px;color:var(--muted)}.contact-logo{width:180px;height:140px;object-fit:contain;background:#faf8f3;border:1px solid #88664e;border-radius:6px;margin-top:20px}form{padding-top:10px}label{display:block;margin-bottom:21px}label>span{display:block;font-size:10px;margin-bottom:6px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #88664e;border-radius:0;background:transparent;padding:8px 0;color:var(--ink);outline-offset:4px}textarea{resize:vertical}select{cursor:pointer}form .button{width:100%;margin-top:20px}.form-note{font-size:10px;color:var(--muted);margin-top:12px}#form-result{white-space:pre-wrap;background:var(--paper);padding:20px;font-size:12px;overflow-wrap:anywhere}footer{padding:50px 5% 30px}.ft-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap}.ft-brand{display:flex;flex-direction:column;gap:10px}.ft-brand>span{font-size:12px;color:var(--muted)}.ft-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px;font-size:12px}.ft-links a:hover,.ft-bottom a:hover{color:var(--olive)}.ft-bottom{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;font-size:11px;color:var(--muted)}.ft-bottom a{color:var(--ink)}.ft-top{margin-left:auto}footer .brand-name{font-size:18px}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){header{height:90px}nav{gap:18px}.header-actions{gap:15px}.brand-name{font-size:20px}.hero-copy{padding:60px 10% 25px}.hero{min-height:610px}.hero-image{min-height:610px}.hero-bottom{margin-top:40px}.section{padding:75px 6%}.about{gap:8%}.service-grid{gap:25px}.gallery img{height:390px}.gallery figure:nth-child(2) img{height:330px}.gallery figcaption{align-items:start;flex-direction:column;gap:3px}.contact{gap:8%}}@media(max-width:700px){header{height:86px;padding:0 6%;gap:12px}.brand-name{font-size:19px}.brand-caption{font-size:6px;letter-spacing:1.2px}.header-cta{display:none}.menu{display:block;border:0;background:none;color:var(--ink);font-size:21px;cursor:pointer}nav{display:none;position:absolute;top:86px;background:var(--paper);left:0;right:0;padding:25px 6%;z-index:10;box-shadow:0 8px 10px #00000008}nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 7% 35px}.hero h1{font-size:72px}.intro{max-width:360px}.hero-bottom{margin-top:35px}.hero-image{min-height:420px}.image-label{font-size:8px;left:20px;gap:15px}.values{flex-wrap:wrap;gap:15px;padding:22px 6%;font-size:14px}.values i:last-of-type{display:none}.section{padding:60px 7%}.about{grid-template-columns:1fr;gap:40px}.about-photo img{height:380px}.about-copy{padding-top:8px}h2{font-size:48px}.section-top{flex-direction:column;align-items:start;gap:20px;margin-bottom:35px}.section-top>p{max-width:100%;margin:0}.service-grid{grid-template-columns:1fr;gap:35px}.service-grid p{min-height:0;max-width:400px}.service-grid a{margin-top:20px}.gallery{grid-template-columns:1fr;gap:35px}.gallery figure:nth-child(2){margin-top:0}.gallery img,.gallery figure:nth-child(2) img{height:390px}.gallery figcaption{flex-direction:row}.steps{grid-template-columns:1fr;gap:35px;margin-top:35px}.steps h3{margin-top:10px}.steps p{max-width:300px}.contact{grid-template-columns:1fr;gap:25px}.contact-logo{width:130px;height:100px;margin-top:0}footer{padding:40px 7% 26px}.ft-inner{flex-direction:column}.ft-sep{display:none}.ft-bottom{flex-direction:column;align-items:flex-start}.ft-top{margin-left:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.contact-details{margin:24px 0 10px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.contact-name{font-family:Georgia,serif;font-size:20px}.contact-details a{font-size:13px;border-bottom:1px solid var(--olive);padding-bottom:5px}.contact-details a:hover{color:var(--olive)}

/* Warm orange accents against charcoal and espresso surfaces. */
.eyebrow,.photo-note{color:var(--olive)}.round-link{background:var(--olive);color:#201c19}.header-cta,.text-link{border-color:var(--olive)}select option{background:var(--sand);color:var(--ink)}footer{border-top:1px solid var(--line)}.hero-image>img{filter:brightness(.88) saturate(.88)}
/* Rainbow magic: peach, lemon, lilac and superhero pink/blue/green. */
:root{--paper:#fff7fc;--ink:#422454;--muted:#72577c;--olive:#a32376;--line:#e9c7e5;--sand:#fff0d7;color-scheme:light}
header{background:#fff7fc;border-bottom:5px solid transparent;border-image:linear-gradient(90deg,#ff6d9d,#ffa655,#ffe66b,#76dfac,#77caff,#ba92ef) 1}
.hero-copy{background:linear-gradient(145deg,#fff3d5,#ffe2ee 55%,#eee2ff)}
h1,h2{font-family:Georgia,serif;font-weight:700;letter-spacing:-2px}h1 em,h2 em{color:#a32376}
.hero-image{background:#e0f5ff}.hero-image>img{filter:none;object-fit:contain}.image-label{color:#422454;text-shadow:none;background:#fff7fce8;padding:8px 12px;border-radius:20px;font-weight:600}
.button{background:#ff75b5;color:#422454;border:2px solid #422454;border-radius:30px;box-shadow:4px 4px 0 #422454;font-weight:600}.button:hover{background:#ffe66b;box-shadow:2px 2px 0 #422454}.round-link{background:#ffe66b;color:#422454;border:2px solid #422454}
.values{background:linear-gradient(90deg,#ffd7e9,#ffe1c2,#fff5b9,#d9f8df,#d8efff,#edddff)}.values i{color:#a32376}
.services{background:#f0e5ff}.service-grid article{padding:25px;border:2px solid #422454;border-radius:24px;box-shadow:5px 5px 0 #422454}.service-grid article:nth-child(1){background:#ffd7e9}.service-grid article:nth-child(2){background:#d8efff}.service-grid article:nth-child(3){background:#d9f8df}.service-grid a{border-color:#9c75a1}.service-grid .number{color:#74407e}
.process{background:linear-gradient(120deg,#fff5bf,#ffe5d3,#f8dfff)}.contact{background:linear-gradient(135deg,#ffe0ed,#e5d9ff 60%,#d7f4ff)}.contact-logo{background:#faf8f3;border-color:var(--line)}input,select,textarea{border-color:#9c75a1}select option{background:#fff7fc;color:#422454}
footer{background:#e8dcff}.eyebrow,.photo-note{color:#a32376}.contact-details a:hover{color:#a32376}
@media(max-width:700px){.hero-image{min-height:440px}.image-label{bottom:18px;font-size:7px;left:12px;right:75px;gap:10px}.service-grid{gap:28px}}
/* Scroll-powered superhero flights and rainbow toots. */
.magic-layer{position:fixed;inset:0;z-index:40;pointer-events:none;overflow:hidden;contain:strict}
.magic-flight{position:absolute;top:0;left:0;will-change:transform,opacity;isolation:isolate}
.magic-flight>img{position:relative;z-index:2;width:100%;height:auto;filter:drop-shadow(2px 4px 0 #42245433);transform:rotate(65deg)}
.magic-flight.flies-left>img{transform:rotate(-65deg)}
.rainbow-toot{position:absolute;right:58%;top:56%;width:180%;height:44%;z-index:1;background:linear-gradient(#ff5d9f 0% 16%,#ffab54 16% 32%,#ffe65f 32% 48%,#6de7a1 48% 64%,#65cfff 64% 80%,#ba82f4 80%);border-radius:55% 18% 18% 55%;filter:drop-shadow(0 0 8px #ffb6eb);transform-origin:right center;animation:rainbow-puff .35s ease-in-out infinite alternate;opacity:.9}
.rainbow-toot:before,.rainbow-toot:after{content:'';position:absolute;left:-12%;top:-20%;width:45%;height:140%;border-radius:50%;background:inherit}.rainbow-toot:after{left:12%;top:-35%;width:35%;height:170%}
.flies-left .rainbow-toot{right:auto;left:58%;transform-origin:left center;border-radius:18% 55% 55% 18%}
.magic-toggle{position:fixed;bottom:18px;right:18px;z-index:45;border:2px solid #422454;background:#fff4b8;color:#422454;padding:10px 16px;border-radius:30px;box-shadow:3px 3px 0 #422454;font:600 11px 'DM Sans',sans-serif;cursor:pointer}
.magic-launchpad{position:relative;isolation:isolate}.magic-launchpad>img:not(.magic-peek):not(.unicorn-peek){position:relative;z-index:2}.magic-launchpad>.magic-peek{position:absolute;z-index:1;width:95px;height:130px;object-fit:contain;top:20px;right:-35px;transform:rotate(22deg);pointer-events:none}.magic-launchpad figcaption{position:relative;z-index:3}.gallery{column-gap:50px}
@keyframes rainbow-puff{from{scale:.8 .85;opacity:.7}to{scale:1.1 1.15;opacity:1}}
@media(max-width:700px){.magic-launchpad>.magic-peek{width:75px;height:100px;right:-20px}.magic-toggle{bottom:12px;right:12px;font-size:10px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.rainbow-toot{animation:none}.magic-peek{display:none}}
/* Unicorns peek from underneath each photo as scroll progress changes. */
.magic-launchpad>img:not(.magic-peek):not(.unicorn-peek){position:relative;z-index:2}
.magic-launchpad>.unicorn-peek{position:absolute;z-index:1;width:115px;height:145px;object-fit:contain;pointer-events:none;top:38%;right:4px;transform:translateX(var(--peek-out,0px)) rotate(var(--peek-tilt,0deg));transition:transform .12s linear}
.magic-launchpad>.unicorn-peek-1{right:auto;left:4px;top:60%;transform:translateX(calc(-1 * var(--peek-out,0px))) rotate(calc(-1 * var(--peek-tilt,0deg))) scaleX(-1)}
.magic-launchpad>.magic-peek{right:0;transform:translateX(calc(var(--peek-out,0px) * .65)) rotate(var(--peek-tilt,0deg))}
.magic-runner{position:absolute;left:0;top:0;will-change:transform;pointer-events:none}.magic-runner>img{width:100%;height:auto;display:block;filter:drop-shadow(3px 5px 0 #42245425);animation:magic-gallop .22s ease-in-out infinite alternate}
.fire-dash>img{animation-duration:.12s}.unicorn-parade:after{content:'✦ ✧ ✦';position:absolute;left:-55px;bottom:24%;color:#a32376;font-size:28px;animation:magic-gallop .3s infinite alternate}
.magic-paused .magic-peek,.magic-paused .unicorn-peek{visibility:hidden}
@keyframes magic-gallop{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-12px) rotate(3deg)}}
@media(max-width:700px){.magic-launchpad>.unicorn-peek{width:85px;height:110px;right:20px}.magic-launchpad>.unicorn-peek-1{left:20px;right:auto}}
@media(prefers-reduced-motion:reduce){.unicorn-peek,.magic-runner{display:none}.magic-runner>img{animation:none}.magic-launchpad>.unicorn-peek{transition:none}}

.terms-page{max-width:960px;margin:auto}.terms-page h1{font-size:clamp(38px,6vw,72px);overflow-wrap:anywhere}.terms-page h2{font-size:27px;letter-spacing:0;margin:35px 0 12px}.terms-page p{max-width:750px}.terms-page p a{text-decoration:underline}.terms-page [hidden]{display:none}
/* Photo-inspired couple: chase sprites and a shared unicorn ride. */
.couple-layer{position:fixed;inset:0;z-index:41;overflow:hidden;pointer-events:none;contain:strict}.couple-traveller{position:absolute;left:0;top:0;will-change:transform}.couple-sprite{width:100%;aspect-ratio:1;background-image:url('assets/couple-atlas.png');background-size:300% 100%;background-repeat:no-repeat;animation:couple-stride .16s ease-in-out infinite alternate;filter:drop-shadow(2px 5px 2px #42245425)}.couple-man{background-position:0% 50%}.couple-woman{background-position:50% 50%}.couple-ride{background-position:100% 50%;animation-duration:.25s}@keyframes couple-stride{from{transform:translateY(0) rotate(-4deg)}to{transform:translateY(-10px) rotate(4deg)}}@media(prefers-reduced-motion:reduce){.couple-layer{display:none}.couple-sprite{animation:none}}
.couple-man{aspect-ratio:700/724;background-size:310.2857% 100%;background-position:0% 50%}.couple-woman{aspect-ratio:620/724;background-size:350.3226% 100%;background-position:45.1031% 50%}.couple-ride{aspect-ratio:852/724;background-size:254.9296% 100%;background-position:100% 50%}
.couple-hideout{position:relative;isolation:isolate}.couple-hider.couple-sprite{position:absolute;top:25%;width:100px;z-index:1;pointer-events:none;animation:none}.couple-hideout>img:not(.unicorn-peek){position:relative;z-index:2}.values.couple-hideout:after{content:"";position:absolute;inset:0;background:inherit;z-index:2;pointer-events:none}.values.couple-hideout>span,.values.couple-hideout>i{position:relative;z-index:3}.values .couple-hider{top:-45px}.hero-image>img{object-fit:contain;padding:35px}@media(prefers-reduced-motion:reduce){.couple-hider{display:none}}
