/* Page styles stop at the shared site header (section.header), which keeps the main site's own look.
   Bootstrap (loaded for that header) also gives .container padding and max-widths; this page sizes its own. */
/* Variables and the root element sit outside the scope so every part of the page can use them */
:root{--forest:#173e33;--forest2:#244f41;--red:#aa493e;--gold:#e5bd7c;--cream:#fbf7ee;--paper:#fffdf8;--text:#21352e;--muted:#64716b;--line:#e6e4da;--radius:18px;--max:1200px}
html{scroll-behavior:smooth;scroll-padding-top:94px}
@scope (:root) to (section.header){
*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--paper);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a55143;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em;line-height:1.11}h1 em,h2 em{color:var(--red);font-weight:400}h2{font-size:clamp(2.45rem,4.4vw,4.65rem);margin-bottom:24px}h3{line-height:1.26}p{color:var(--muted)}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.section{padding:100px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:12px;z-index:999;padding:12px 18px;background:white}.skip-link:focus{top:12px}.topline{background:var(--forest);color:#e8ebde;font-size:.74rem;letter-spacing:.06em}.topline-inner{min-height:35px;display:flex;justify-content:space-between;align-items:center;gap:16px}.topline a{text-decoration:underline;text-underline-offset:3px}.site-header{position:sticky;top:0;background:rgba(255,253,248,.97);z-index:50;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:1.65rem;font-weight:900;letter-spacing:-.08em;color:var(--forest);line-height:1}.brand-accent{color:var(--red)}.brand small{display:block;font-size:.52rem;letter-spacing:.14em;color:#718178;font-weight:700;margin-top:6px}.primary-nav{display:flex;align-items:center;gap:26px;font-size:.86rem;font-weight:650}.primary-nav>a:not(.nav-cta):hover,.text-link:hover{color:var(--red)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border-radius:8px;font-weight:750;transition:transform .2s,background .2s,color .2s}.nav-cta{padding:13px 18px;background:var(--forest);color:white}.nav-cta:hover,.button-primary:hover{background:#32604d;transform:translateY(-2px)}.menu-button{display:none;background:transparent;border:0;color:var(--forest);font-size:1.65rem;cursor:pointer}.hero{padding-top:33px;padding-bottom:95px;background:linear-gradient(160deg,#fffdf8 50%,#f9f0e7 100%)}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.76rem;color:#778178;margin-bottom:35px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:55px;align-items:center}.eyebrow{font-size:.71rem;font-weight:850;color:var(--red);letter-spacing:.16em;margin-bottom:22px}.eyebrow-dot{display:inline-block;width:9px;height:9px;background:var(--red);border-radius:50%;margin-right:7px}.hero h1{font-size:clamp(3.8rem,6.2vw,6.6rem);margin-bottom:27px}.lead{font-size:1.09rem;line-height:1.85;max-width:540px}.lead strong{color:var(--forest);font-weight:700}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:35px}.button{padding:15px 22px;font-size:.86rem;min-height:51px}.button-primary{background:var(--forest);color:#fff}.button-outline{border:1px solid #c5c5b8;color:var(--forest)}.button-outline:hover{background:#f1ece0}.hero-footnote{display:flex;align-items:center;gap:10px;font-size:.76rem;color:#748079;margin-top:36px}.avatar-mark{background:#eddbc0;color:var(--red);display:grid;place-items:center;width:35px;height:35px;border-radius:50%;font-size:1.1rem}.hero-art{position:relative}.hero-art img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:17px;box-shadow:0 29px 48px rgba(23,62,51,.13)}.hero-sticker{position:absolute;left:-26px;bottom:33px;display:flex;align-items:center;gap:12px;background:#fffaf0;padding:19px 22px;transform:rotate(-5deg);box-shadow:0 8px 25px #162a2227;font-size:.66rem;line-height:1.45;letter-spacing:.12em}.sticker-spark{font-size:2.2rem;color:var(--red)}.trust-band{background:#f0e9dd;border-block:1px solid #e7dfd0;padding:22px 0}.trust-inner{display:flex;align-items:center;gap:35px;justify-content:space-between}.trust-heading{font-size:.7rem;font-weight:800;letter-spacing:.14em;flex:none;margin:0;color:var(--red)}.trust-items{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 26px;flex:1;font-size:.8rem;color:var(--forest)}.trust-items span{white-space:nowrap}.trust-items span:first-letter{color:var(--red)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.body-copy{font-size:1.02rem}.body-copy p{margin-bottom:20px}.text-link{font-weight:800;font-size:.87rem;color:var(--forest);border-bottom:1px solid var(--red);padding-bottom:4px;display:inline-flex;gap:20px}.ideas-section{background:var(--cream)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:40px}.section-head h2{margin-bottom:0}.section-head>p{max-width:330px;margin-bottom:8px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{background:white;border-radius:var(--radius);overflow:hidden;border:1px solid #e6e1d8;display:flex;flex-direction:column}.feature-image{overflow:hidden;background:#e8e0d3}.feature-image img{width:100%;aspect-ratio:1.48;object-fit:cover;transition:transform .45s}.feature-card:hover .feature-image img{transform:scale(1.035)}.feature-body{padding:29px 27px 31px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.tag{font-size:.66rem;font-weight:800;letter-spacing:.12em;color:var(--red)}.feature-body h3{font:500 1.68rem Georgia,serif;letter-spacing:-.03em;margin:13px 0}.feature-body p{font-size:.9rem;flex:1}.feature-body .text-link{margin-top:15px;font-size:.8rem}.ideas-note{background:#e9e3d6;padding:19px 24px;border-left:4px solid var(--red);margin-top:23px;font-size:.91rem;color:#536158}.ideas-note strong{color:var(--forest)}.audiences-section{text-align:center}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:42px;text-align:left}.audience-grid article{border-top:2px solid #c3c7ba;padding:29px 14px 10px 0}.audience-icon{display:grid;place-items:center;font-size:1.6rem;color:var(--red);background:#f6eee0;border-radius:50%;width:62px;height:62px;margin-bottom:22px}.audience-grid h3{font:500 1.55rem Georgia,serif}.audience-grid p{font-size:.92rem}.workshop-spotlight{background:var(--forest);color:#fff}.spotlight-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.spotlight-image img{border-radius:17px;box-shadow:15px 15px 0 #406553}.workshop-spotlight h2 em,.cta-section h2 em{color:#e8bd89}.workshop-spotlight p{color:#dce5db;font-size:1.02rem}.light-eyebrow{color:#edcd9d}.check-list{margin:25px 0 30px;padding:0;list-style:none}.check-list li{margin:10px 0;color:#e2e9dc}.check-list li:before{content:'✓';color:#e8c78d;margin-right:12px;font-weight:900}.button-cream{background:#f2e2c4;color:var(--forest)}.button-cream:hover{background:white;transform:translateY(-2px)}.workshop-spotlight small{display:block;color:#b9c8be;margin-top:15px}.steps{padding:0;margin:35px 0 35px;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.steps li{border-top:2px solid var(--forest);padding-top:23px}.step-count{font:italic 2.8rem Georgia,serif;color:var(--red);margin-bottom:28px}.steps h3{font:500 1.32rem Georgia,serif}.steps p{font-size:.89rem}.planning-aside{display:flex;flex-wrap:wrap;align-items:center;gap:9px 24px;padding:24px;background:#f4eee5;border-radius:13px}.planning-aside strong{color:var(--forest)}.planning-aside p{flex:1 1 380px;margin:0;font-size:.87rem}.copy-button{border:0;background:transparent;color:var(--red);font-size:.8rem;font-weight:800;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.copy-feedback{font-size:.8rem;color:#2c6c51}.watch{background:#f5f1e9}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.video-card{border:1px solid #e4dfd7;background:#fff;border-radius:16px;overflow:hidden}.video-cover{aspect-ratio:1.7;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.video-cover:before,.video-cover:after{content:'';position:absolute;border:4px solid #ffffff19;border-radius:50%;width:260px;height:260px;transform:translate(120px,-40px)}.video-cover:after{width:160px;height:160px;transform:translate(-120px,90px)}.video-magic{background:linear-gradient(135deg,#315b50,#a65148)}.video-host{background:linear-gradient(135deg,#aa674d,#d7a66e)}.video-workshop{background:linear-gradient(135deg,#6e9b87,#214a3d)}.play-icon{z-index:1;display:grid;place-items:center;width:67px;height:67px;border-radius:50%;background:#fff9e8;color:var(--red);box-shadow:0 8px 20px #0002}.video-category{position:absolute;bottom:18px;left:20px;background:#ffffffed;color:var(--forest);font-size:.65rem;letter-spacing:.11em;font-weight:800;padding:6px 9px}.video-info{padding:24px}.video-info h3{font:500 1.4rem Georgia,serif}.video-info p{font-size:.88rem}.video-button{background:none;border:0;padding:0;color:var(--red);font-size:.85rem;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:5px}.video-player{max-width:830px;margin:28px auto 0;background:white;padding:20px;border-radius:14px;border:1px solid var(--line)}.player-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:15px}.player-header button{border:0;background:var(--cream);padding:8px 12px;border-radius:6px;cursor:pointer}#player-frame{aspect-ratio:16/9;background:#173e33}#player-frame iframe{width:100%;height:100%;border:0}.video-player p{font-size:.8rem;margin:12px 0 0}.video-player p a{text-decoration:underline}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.faqs{border-top:1px solid var(--line)}.faqs details{border-bottom:1px solid var(--line);padding:21px 0}.faqs summary{font-size:1.02rem;font-weight:720;cursor:pointer;list-style:none;padding-right:32px;position:relative}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:'+';position:absolute;right:5px;top:-5px;font-size:1.6rem;color:var(--red)}.faqs details[open] summary:after{content:'−'}.faqs details p{margin:16px 0 0;font-size:.94rem}.cta-section{padding:72px 0;background:var(--red);color:white}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-section h2{margin:0 0 20px}.cta-section p{color:#ffecdf;max-width:530px}.cta-action{display:flex;flex-direction:column;gap:15px;align-items:flex-start}.cta-action>a:not(.button){text-decoration:underline;text-underline-offset:5px}.cta-action p{font-size:.77rem;margin:0}.related-section{padding-block:78px}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.related-grid a{padding:26px 28px;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:1fr auto}.related-grid a:hover{border-color:var(--red)}.related-grid span{grid-column:1/-1;font-size:.66rem;font-weight:800;color:var(--red);letter-spacing:.12em;margin-bottom:13px}.related-grid h3{font:500 1.3rem Georgia,serif;margin:0}.related-grid b{align-self:center;font-size:1.6rem;color:var(--red)}.site-footer{background:#16372e;color:#edf0e7;padding:65px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:40px}.footer-brand{font-weight:900;font-size:2.2rem;letter-spacing:-.09em}.footer-brand span{color:#e9bd87}.site-footer p{color:#b8ccc0;font-size:.85rem;max-width:300px}.site-footer h3{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.footer-grid>div:not(:first-child) a{display:block;margin:8px 0;font-size:.85rem;color:#d6e5da}.footer-bottom{border-top:1px solid #4d695f;margin-top:40px;padding-top:19px;display:flex;justify-content:space-between;gap:18px;font-size:.75rem;color:#bdd0c2}.footer-bottom a{text-decoration:underline}
@media(max-width:1030px){.primary-nav{gap:15px}.hero-grid{gap:30px}.hero h1{font-size:clamp(3.4rem,6vw,5rem)}.trust-inner{align-items:start;flex-direction:column;gap:12px}.spotlight-grid{gap:40px}}
@media(max-width:760px){.container{width:min(calc(100% - 32px),var(--max))}.section{padding:65px 0}.topline-inner{min-height:33px}.topline span{display:none}.topline-inner{justify-content:center}.header-inner{min-height:72px}.brand{font-size:1.45rem}.brand img{width:37px;height:37px}.menu-button{display:block}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:10px 20px 22px;border-bottom:1px solid var(--line);box-shadow:0 14px 24px #18332614}.primary-nav.is-open{display:flex}.primary-nav a{padding:12px 6px}.primary-nav .nav-cta{margin-top:7px;justify-content:center}.hero{padding-top:20px}.breadcrumbs{margin-bottom:24px}.hero-grid,.intro-grid,.spotlight-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(3.6rem,12vw,5.3rem)}.hero-art{margin-left:13px}.hero-sticker{left:-14px;bottom:15px;padding:11px}.section-head{display:block;margin-bottom:29px}.section-head>p{margin:14px 0 0;max-width:100%}.feature-grid,.audience-grid,.video-grid{grid-template-columns:1fr;gap:18px}.feature-image img{aspect-ratio:1.85}.feature-body{padding:23px}.audiences-section{text-align:left}.audience-grid{margin-top:20px}.audience-grid article{padding-top:20px}.steps{grid-template-columns:1fr 1fr;gap:18px}.spotlight-image{order:2}.workshop-spotlight .spotlight-grid>div:nth-child(2){order:1}.cta-inner{align-items:flex-start;flex-direction:column}.related-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.faq-grid{gap:22px}}
@media(max-width:450px){.hero h1{font-size:3.45rem}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.steps{grid-template-columns:1fr}.step-count{margin-bottom:9px}.steps li{padding-top:13px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Official Aiyo branding, editorial detail blocks and first-party photo gallery */
.brand img{width:200px;height:70px;object-fit:contain;object-position:left center}.footer-brand img{width:235px;height:auto;max-height:112px;object-fit:contain;object-position:left center}.header-inner{min-height:92px}.hero-art img{aspect-ratio:4/3}.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.guide-grid article{background:#fff;padding:30px;border:1px solid var(--line);border-radius:14px}.guide-grid h3{font:500 1.55rem Georgia,serif}.guide-grid p{font-size:.94rem}.detailed-guide{background:#f9f5ec}.gallery-section{background:#fff}.gallery-lead{max-width:650px}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-gallery figure{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.photo-gallery img{width:100%;height:235px;object-fit:cover}.photo-gallery figcaption{padding:14px 17px;font-size:.83rem;color:var(--forest);font-weight:700}@media(max-width:760px){.brand img{width:155px;height:58px}.header-inner{min-height:70px}.steps,.guide-grid,.photo-gallery{grid-template-columns:1fr 1fr}.photo-gallery img{height:190px}}@media(max-width:480px){.steps,.guide-grid,.photo-gallery{grid-template-columns:1fr}.photo-gallery img{height:235px}}
.container{max-width:none;padding-left:0;padding-right:0}
/* A grid column grows to fit its widest child. If a photo fails to load, the browser sizes the broken img by its
   width attribute (1200px), which widened the whole page on phones. min-width:0 keeps every column inside the screen. */
.hero-grid>*,.intro-grid>*,.spotlight-grid>*,.faq-grid>*,.feature-grid>*,.audience-grid>*,.video-grid>*,.steps>*,.guide-grid>*,.photo-gallery>*,.related-grid>*,.footer-grid>*{min-width:0}
.xmas-img-link img{max-width:100%}
/* The img tags carry width/height attributes (1200x800), and a height attribute beats aspect-ratio, which left
   these photos 800px tall. height:auto lets each one take the shape its aspect-ratio rule asks for.
   The hero photo keeps its original tall crop on purpose. */
.feature-image img,.spotlight-image img{height:auto}
/* Side by side, the workshop photo fills the full height of the text column beside it */
@media(min-width:761px){
.spotlight-grid{align-items:stretch}
.spotlight-image,.spotlight-image .xmas-img-link{height:100%}
.spotlight-image img{height:100%;object-fit:cover}
}
/* Video covers show the video's YouTube thumbnail (set per card in the page), darkened a little so the
   play button and label stay readable */
.video-cover[data-thumb]{background-size:cover;background-position:center}
.video-cover[data-thumb]:before{transform:none;inset:0;width:auto;height:auto;border:0;border-radius:0;background:rgb(0 0 0 / .18)}
.video-cover[data-thumb]:after{display:none}
}
