@font-face{font-family:"Spectral";font-weight:300;font-display:swap;src:url(/assets/fonts/spectral-300.woff2) format("woff2")}
@font-face{font-family:"Spectral";font-weight:400;font-display:swap;src:url(/assets/fonts/spectral-400.woff2) format("woff2")}
@font-face{font-family:"Spectral";font-weight:400;font-style:italic;font-display:swap;src:url(/assets/fonts/spectral-400-italic.woff2) format("woff2")}
@font-face{font-family:"Spectral";font-weight:600;font-display:swap;src:url(/assets/fonts/spectral-600.woff2) format("woff2")}
@font-face{font-family:"Ms Madi";font-display:swap;src:url(/assets/fonts/msmadi-400.woff2) format("woff2")}
:root{--cream:#FCF2DC;--card:#FFF8EA;--orange:#FA8700;--brown:#9A550C;--amber:#C98A0B;--seal:#D13712;--esp:#2C2420;--serif:"Spectral",Georgia,serif;--script:"Ms Madi",cursive}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--cream);scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--esp);font:400 1.0625rem/1.65 var(--serif);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--brown);text-underline-offset:.2em}a:hover{color:var(--seal)}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
h1,h2,h3{font-weight:300;line-height:1.15;margin:0 0 .6em;color:var(--brown)}
h1{font-size:clamp(2.4rem,8vw,4.2rem);color:var(--orange)}
h2{font-size:clamp(1.6rem,4.5vw,2.3rem)}
h3{font-size:1.3rem;font-weight:400}
p{margin:0 0 1em}
.masthead{position:relative;z-index:20;text-align:center;padding:1.75rem 1.5rem .5rem;background:var(--cream)}
.masthead__logo{width:clamp(118px,30vw,150px);margin:0 auto}
.masthead__tagline{margin:.35rem 0 .9rem;color:var(--orange);font-size:1.0625rem;letter-spacing:.03em}
.menu{font:inherit;background:none;border:1px solid var(--brown);color:var(--brown);border-radius:99px;padding:.35rem 1.1rem}
#nav{display:none;flex-direction:column;align-items:center;padding:1rem 0 .5rem;gap:.15rem}
#nav.open{display:flex}
#nav a:not(.btn){padding:.5rem 0;text-decoration:none;color:var(--esp)}
#nav a[aria-current]{color:var(--orange)}
#nav .btn{margin-top:.5rem}
@media(min-width:960px){.masthead{padding-top:2rem}.masthead__tagline{font-size:1.125rem}.menu{display:none}#nav{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:1.6rem;padding:.25rem 0 .5rem}#nav a:not(.btn){font-size:.98rem;padding:0}#nav .btn{margin:0}}
.hero{min-height:56vh !important}
.btn{display:inline-block;background:var(--brown);color:#FFF8EA;text-decoration:none;border:1px solid var(--brown);border-radius:99px;padding:.75rem 1.5rem;font:inherit;font-size:1rem;cursor:pointer;transition:transform .25s,background .25s}
.btn:hover{background:var(--seal);border-color:var(--seal);color:#fff;transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--brown)}
.btn--sm{padding:.45rem 1.1rem;font-size:.95rem}
.link{text-decoration:none;font-weight:600}
.hero{position:relative;min-height:70vh;display:grid;place-items:center;padding:4rem 1.5rem 3rem;overflow:hidden;text-align:center}
.hero__a{position:absolute;bottom:0;width:clamp(90px,20vw,260px);opacity:.55;pointer-events:none}
.hero__a--l{left:-2%}.hero__a--r{right:-2%}
.hero__in{position:relative;max-width:40rem}
.kicker,.script{font-family:var(--script);font-size:clamp(1.9rem,5vw,2.6rem);color:var(--amber);line-height:1;margin:0 0 .3em}
.lede{font-size:1.2rem;max-width:34rem;margin:0 auto 1.5rem}
.ctas{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.ctas.col{flex-direction:column;align-items:center}
.sec{max-width:72rem;margin:0 auto;padding:clamp(3rem,8vw,6rem) 1.5rem}
.narrow{max-width:44rem}
.big{font-size:clamp(1.2rem,2.6vw,1.45rem);line-height:1.6}
.split{display:grid;gap:2rem;align-items:center}
.split .accent{max-width:220px;margin:0 auto;opacity:.9}
@media(min-width:800px){.split{grid-template-columns:1fr 1fr}.split .accent{max-width:280px}}
.pills{display:flex;flex-wrap:wrap;gap:.5rem}.pills span{border:1px solid var(--amber);border-radius:99px;padding:.2rem .9rem;color:var(--brown);font-size:.95rem}
.grid3,.grid2{display:grid;gap:1.25rem;margin-top:1rem}
@media(min-width:720px){.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border-radius:18px;padding:1.6rem;display:flex;flex-direction:column;align-items:flex-start}
.card .btn,.card .link{margin-top:auto}
.price{color:var(--orange);font-weight:600;margin-bottom:.6em}
.quotes{display:grid;gap:1.5rem}@media(min-width:800px){.quotes{grid-template-columns:repeat(2,1fr)}}
figure{margin:0}blockquote{margin:0 0 .5rem;font-style:italic;font-size:1.1rem}figcaption{color:var(--brown);font-size:.95rem}
.pull{font-size:1.4rem;color:var(--brown);margin:2rem 0;padding-left:1.2rem;border-left:2px solid var(--amber)}
.list{padding-left:1.2rem}.list li{margin-bottom:.5rem}
.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;padding:.6rem 0 .6rem 3rem;position:relative;font-size:1.15rem}
.steps li::before{content:counter(s);position:absolute;left:0;top:.45rem;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--card);color:var(--orange);display:grid;place-items:center}
.prices{width:100%;border-collapse:collapse;margin:.5rem 0 2rem}
.prices th,.prices td{text-align:left;padding:.9rem .5rem;border-bottom:1px solid rgba(154,85,12,.18);vertical-align:middle}
.prices th{font-weight:400}.prices small{display:block;color:#6b5a4f}
.prices td:nth-child(2){color:var(--orange);white-space:nowrap}
@media(max-width:640px){.prices tr{display:grid;grid-template-columns:1fr auto;gap:.3rem}.prices th{grid-column:1/-1;border:0;padding-bottom:0}.prices td{border:0}.prices tr{border-bottom:1px solid rgba(154,85,12,.18);padding:.5rem 0}}
.muted{color:#7a675a;font-size:1rem}.small{font-size:.9rem;color:#6b5a4f}.center{text-align:center}
.placeholder{background:var(--card);border-radius:14px;padding:1rem 1.2rem}
.faq details{border-bottom:1px solid rgba(154,85,12,.18);padding:.9rem 0}
.faq summary{cursor:pointer;font-size:1.1rem;color:var(--brown);list-style:none}.faq summary::after{content:"+";float:right}.faq details[open] summary::after{content:"–"}
.faq details p{margin:.6rem 0 0}
.faq{max-width:48rem}
.cta{text-align:center}
.pagehead{text-align:center;padding-top:5rem}
.form{display:grid;gap:1rem}.form label{display:grid;gap:.3rem}.form input,.form select,.form textarea{font:inherit;background:var(--card);border:1px solid rgba(154,85,12,.3);border-radius:10px;padding:.7rem}
.form .check{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem}
.foot{text-align:center;padding:3rem 1.5rem 2.5rem;font-size:.95rem;position:relative}
.foot__art{width:min(280px,60vw);margin:0 auto 1.5rem;opacity:.85}
.foot__tag{font-size:1.15rem}
/* subtle animation */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
.float{animation:float 9s ease-in-out infinite}.float--d{animation-delay:-4.5s}
@keyframes float{50%{transform:translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.float{animation:none}html{scroll-behavior:auto}}
.fadein{animation:fadein 1s ease both}@keyframes fadein{from{opacity:0;transform:translateY(10px)}}@media(prefers-reduced-motion:reduce){.fadein{animation:none}}
/* Canva Home-top header art */
.masthead{padding:0 0 .5rem}
.hdr-art{position:relative;width:100%;background:var(--cream)}
.hdr-art img{width:100%;height:auto}
.hot,.hdr-home{position:absolute;display:block;border-radius:99px}
.hot:focus-visible,.hdr-home:focus-visible{outline:2px solid var(--amber)}
.hdr-home{left:65%;top:0;width:17%;height:26%}
.hot--explore{left:19%;top:53%;width:17%;height:9%}
.hot--book{left:64%;top:53%;width:16%;height:9%}
.hot:hover{background:rgba(250,135,0,.08)}
.hdr-home-art{margin:0}.hdr-home-art .hdr-art img{width:100%}
.mini{text-align:center;padding:1.25rem 1rem 0}.mini img{width:clamp(80px,18vw,110px);margin:0 auto}
.foot__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem;margin:1.5rem auto;max-width:44rem}
.foot__nav a{text-decoration:none;color:var(--esp);padding:.35rem 0}.foot__nav a:hover{color:var(--seal)}
