/* One colour system and a consistent reading rhythm across the portfolio and guide. */
:root{--paper:#fff8f1;--ink:#2d202a;--brown:#5f4a55;--muted:#705d67;--rust:#a82458;--gold:#f28db6;--line:#dfd0d6;--accent:#f28db6;--surface:#f5ebe9;--radius:24px}
body{background:var(--paper)}h1,h2,h3{letter-spacing:-.045em}h2 em,.section-heading h2 em,.about-copy h2 em,#myndakviss h2 em{color:var(--rust)}
.section,.shoot-section{padding-top:88px;padding-bottom:88px}.section-heading{margin-bottom:36px}.eyebrow,.shoot-section .kicker{font-size:.88rem;letter-spacing:.015em}.brand-stencil{filter:grayscale(1)}
.button{box-shadow:none;border:1px solid var(--ink);border-radius:999px;min-height:48px;padding:14px 24px;gap:12px;font-weight:700}.button:hover{box-shadow:none;transform:none;background:var(--ink);border-color:var(--ink);color:var(--paper)}.primary,.button-primary,.shoot-flow .button-primary,.portfolio-more .button{background:var(--accent);border-color:var(--ink);color:var(--ink)}
.ui-icon{display:inline-block;width:19px;height:19px;flex-shrink:0;vertical-align:middle}.ui-icon:has(path[d^="m8"]){fill:currentColor;stroke:none}
.site-header{height:88px;border-bottom:1px solid #ffffff25}.site-header nav{gap:28px;font-size:.9rem}.site-header nav a{display:flex;align-items:center;min-height:44px}.site-header nav a:hover{color:var(--accent)}.site-header .wordmark span{color:var(--accent)}
.hero{min-height: min(900px,100svh);padding-top:150px;padding-bottom:110px}.hero-copy{max-width:640px}.hero h1 em{color:var(--accent)}.hero .eyebrow{padding:0;border:0;border-radius:0;backdrop-filter:none;font-size:.88rem}.hero .intro{font-size:1rem;line-height:1.6;max-width:400px;margin:24px 0 28px}.hero .primary{background:var(--accent);border-color:var(--ink)}.hero .primary:hover{background:var(--paper)}.hero-contact{margin-left:12px;background:#2d202a80;color:var(--paper);border-color:#fff8f180}.hero .hero-note{font-size:.9rem;margin-top:24px}.hero-film{min-height:48px;bottom:35px;display:flex;align-items:center;gap:10px;border-radius:999px;box-shadow:none;font-size:.9rem}.hero-film .ui-icon{margin:0}.hero-media figcaption{display:none}
.ribbon{background:var(--surface);border:0;color:var(--brown);font-size:.7rem;padding-block:16px}.ribbon i,.ribbon i:nth-of-type(even){color:var(--rust)}
.image-button,.work-card .image-button,.about-image img{border:0;border-radius:var(--radius);box-shadow:none}.work-card.offset{padding-top:0}.play-tag{border:0;background:#fff8f1ee}.card-caption h3{font-family:var(--sans);font-size:1.5rem}.inspiration-links{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}.inspiration-links .monthly-vibe{margin:0}.monthly-vibe .underlink{color:var(--rust)}
.experience,.about,.shoot-flow,#myndakviss{background:var(--paper)}.experience{border-bottom:1px solid var(--line)}.steps{margin-top:36px;gap:20px}.steps article,.steps article:nth-child(n){background:var(--surface);border:1px solid var(--line);box-shadow:none;border-radius:var(--radius);transform:none;padding:28px}.steps article>span{border:0;padding:0;color:var(--rust);font-size:.78rem}.steps h3{font-size:1.6rem;margin-top:20px}.steps p{color:var(--brown)}
.about-grid{grid-template-columns:1fr 1fr;gap:7%}.about-image{width:100%;max-width:540px}.image-note{font: .85rem var(--sans);transform:none;color:var(--muted);padding-top:14px}.about-copy .lead,.about-copy>p:not(.eyebrow){font-size:1rem;line-height:1.65;color:var(--brown)}.about-copy .button{margin-top:28px}
.story{background:var(--ink)}.story-copy h2 em{color:var(--accent)}.story-copy .lead{font-size:1rem}.story-copy .button{background:var(--accent);color:var(--ink);border-color:var(--accent)}.story-stamp{background:var(--paper);box-shadow:none;border:0;transform:none;border-radius:16px}.story-category{background:var(--accent);border:0;font-size:.76rem}.story-card{background:#3b2b36;border-color:#ffffff24;border-radius:var(--radius)}.story-card .underlink{color:var(--accent)}.story-card-copy{padding:24px}.story-card h3{font-size:1.6rem}
.package-overview{gap:20px}.package-overview article{border:1px solid var(--line);padding:30px;border-radius:var(--radius);background:var(--surface)}.package-overview h3{font-size:1.35rem;color:var(--brown)}.package-overview strong{font-size:clamp(2rem,3vw,2.7rem);letter-spacing:-.04em;display:block;line-height:1.2;margin-top:24px}.package-tax{display:block;margin-top:7px;font-size:.85rem;color:var(--muted)}.package-overview p{font-size:1.05rem;font-weight:700;margin:24px 0 16px}.package-overview ul{font-size:.92rem;padding-left:18px}.fine-print{font-size:.85rem}.shoot-section .fine-print{margin-bottom:24px}
.quiz-heading{max-width:940px;margin:auto}.quiz-shell{max-width:940px;margin:24px auto 0}#style-quiz-form,.quiz-result{border:1px solid var(--line);box-shadow:none;border-radius:var(--radius);padding:28px;scroll-margin-top:16px}#style-quiz-form{background:var(--surface)}.shoot-flow legend{font-size:clamp(1.5rem,2.6vw,2.3rem);line-height:1.15;letter-spacing:-.035em;margin-bottom:20px}.quiz-progress{margin-bottom:22px}.quiz-progress i{height:6px;border:0;background:var(--line)}.quiz-progress b{background:var(--rust)}.visual-answers span,.text-answers span,.choice>span{border:1px solid var(--line);border-radius:16px}.visual-answers img{border-radius:0;aspect-ratio:4/3}.visual-answers b{padding:12px;font-size:.9rem}.text-answers span{min-height:130px;padding:18px}.shoot-flow input:checked+span{background:#fbe0eb;border:1px solid var(--rust);box-shadow:inset 0 0 0 1px var(--rust)}.quiz-controls{margin-top:20px}.quiz-result{background:var(--ink);color:var(--paper);margin:auto;align-items:start;gap:18px}.quiz-result>img{height:260px;border-radius:16px}.quiz-result h3{font-size:clamp(1.8rem,4vw,3rem)}.quiz-result .result-actions{margin-top:8px}.quiz-result .result-actions .button{width:auto}.result{background:var(--ink);border:0;box-shadow:none;border-radius:var(--radius)}.result .estimate-row strong{font-size:2rem}.booking-summary{background:var(--surface);border-radius:16px}.booking-controls{position:sticky;bottom:0;background:var(--paper);padding:16px 0;margin-top:12px;z-index:3}.shoot-flow input:not([type=radio]):not([type=checkbox]),.shoot-flow textarea,dialog input,dialog textarea{background:var(--surface);border:1px solid var(--line);padding:12px 14px;border-radius:12px}.availability-close,.close-dialog{display:grid;place-items:center}dialog{border-radius:var(--radius)}
.music-dock{position:relative;left:auto;bottom:auto;z-index:2;max-width:100%;width:auto}.music-toggle{box-shadow:none;background:var(--paper);color:var(--ink);border:1px solid var(--line);min-height:48px;display:flex;align-items:center;gap:10px}.music-dock #spotify-panel{position:absolute;bottom:calc(100% + 12px);left:0;width:min(360px,85vw);background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 36px #2d202a20}.music-heading,.music-dock #spotify-panel a{color:var(--ink)}
@media(min-width:901px){.story-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;overflow:visible;padding:0;scroll-snap-type:none}.stories-controls{display:none}.story-card{min-width:0}.story-card-image{aspect-ratio:4/3}}
@media(max-width:760px){.section,.shoot-section{padding-block:56px}.site-header{height:76px;min-height:0;flex-wrap:nowrap;padding-block:14px;gap:12px}.site-header .wordmark{font-size:1.6rem}.site-header nav{gap:14px;font-size:.8rem;width:auto}.site-header nav a:last-child{display:flex}.hero{padding:112px 6% 84px;min-height:100svh;align-items:flex-end}.hero h1{font-size:clamp(2.8rem,11vw,4.2rem)}.hero .intro{font-size:1rem;max-width:350px;margin:18px 0 24px}.hero .eyebrow{font-size:.8rem;margin-bottom:16px}.hero .button{padding:13px 17px;font-size:.85rem;display:inline-flex;min-height:48px}.hero-contact{margin:0 0 0 8px;width:auto}.hero-film{bottom:20px;font-size:.85rem;min-height:44px;padding:10px 16px}.hero .hero-note{margin-top:20px}.ribbon{gap:12px;font-size:.65rem;padding-block:12px}.section-heading h2,.stencil-heading h2{font-size:clamp(2rem,8vw,3.4rem)}.stencil-heading .brand-stencil{width:48px;flex-basis:48px;height:64px}.section-heading>p{margin-top:16px}.work-grid{gap:28px}.inspiration-links{flex-direction:column;align-items:flex-start;gap:18px}.about-image{width:100%;max-width:540px}.about-grid{grid-template-columns:1fr;gap:28px}.about-copy h2{font-size:2.7rem}.steps{margin-top:28px;gap:16px}.steps article{padding:24px}.story-copy h2{font-size:3rem}.story-main{height:auto;aspect-ratio:4/5}.story-copy .button{width:100%}.package-overview{gap:16px;margin-block:24px}.package-overview article{padding:24px}.package-overview strong{font-size:2.5rem;margin-top:16px}.package-overview p{margin-top:20px}.shoot-section h2{font-size:clamp(2rem,8vw,3.2rem)}.quiz-heading>.stencil-heading{margin-bottom:16px}.quiz-heading>p:last-child{font-size:.95rem;line-height:1.5}.quiz-shell{margin-top:20px}#style-quiz-form,.quiz-result{padding:16px}.quiz-progress{font-size:.82rem;margin-bottom:18px}.shoot-flow legend{font-size:1.45rem;margin-bottom:16px}.shoot-flow fieldset{margin-bottom:12px}.visual-answers,.text-answers{gap:10px}.visual-answers img{height:clamp(85px,17svh,130px);aspect-ratio:auto}.visual-answers b{font-size:.85rem;padding:9px;line-height:1.3}.text-answers span{min-height:110px;padding:12px}.text-answers b{font-size:.9rem}.text-answers small{font-size:.8rem;line-height:1.4;margin-top:7px}.quiz-controls{position:sticky;bottom:0;margin-top:16px;padding:12px 0 0;background:var(--surface);z-index:3;gap:10px}.quiz-controls .button{min-height:48px;padding:12px 20px}.quiz-result>img{height:auto;max-height:240px;aspect-ratio:4/3}.quiz-result .result-actions .button{width:100%}.quiz-result .result-actions{gap:12px}.booking-controls{padding-bottom:max(12px,env(safe-area-inset-bottom));gap:10px}.chat-launcher{bottom:16px}body.quiz-in-view .chat-launcher{display:none}body:has(.booking-section:not([hidden])) .music-dock{display:block}.site-footer>div{flex-wrap:wrap}}
@media(max-width:380px){.site-header nav{gap:9px;font-size:.75rem}.site-header .wordmark{font-size:1.4rem}.hero .button{padding-inline:14px;font-size:.8rem}.hero-contact{margin-left:6px}}

.music-toggle:hover{background:var(--surface)}.site-footer{padding-bottom:40px}.music-open .chat-launcher{bottom:16px}.music-open .chat-panel{bottom:20px;max-height:calc(100dvh - 40px)}

/* Plain, native disclosure controls keep help visible without a floating character. */
.stencil-heading{display:block}.quiz-heading>p:last-child{margin-left:0}.faq-section h2{margin-bottom:32px}.faq-list{max-width:940px}.faq-list details{border-top:1px solid var(--line);padding:0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;padding:22px 28px 22px 0;font-size:1.1rem;font-weight:700;line-height:1.45;min-height:64px}.faq-list details p{max-width:760px;color:var(--brown);line-height:1.7;padding-bottom:22px}.faq-list details a{display:inline-block;color:var(--rust);text-decoration:underline;text-underline-offset:4px;min-height:44px;margin-bottom:12px}.faq-list summary:focus-visible{outline:3px solid var(--rust);outline-offset:4px;border-radius:8px}.faq-contact{display:flex;align-items:center;gap:24px;margin-top:32px}.faq-contact p{color:var(--brown)}.faq-shortcut{display:block;width:fit-content;min-height:44px;margin-top:22px;text-decoration:underline;text-underline-offset:4px;color:var(--rust)}
@media(max-width:760px){.faq-list summary{font-size:1rem;padding-block:20px}.faq-list details p{font-size:1rem}.faq-contact{flex-direction:column;align-items:flex-start;gap:14px}.site-footer>a:last-child{text-align:left}}

/* Shoot videos load only after a visitor opens one. */
.shoot-videos{margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.shoot-videos-heading{margin-bottom:24px;max-width:650px}
.shoot-videos-heading h3{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;letter-spacing:-.035em;margin-bottom:12px}
.shoot-videos-heading p{font-size:1rem;line-height:1.6;color:var(--brown)}
.shoot-video-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 18px}
.shoot-video-card{min-width:0}
.shoot-video-trigger{position:relative;display:block;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;background:var(--ink);cursor:pointer;color:#fff;aspect-ratio:4/5}
.shoot-video-trigger img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.shoot-video-trigger:hover img{transform:scale(1.025)}
.shoot-video-trigger:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.shoot-video-play{position:absolute;inset:auto 0 0;display:flex;gap:8px;align-items:center;justify-content:center;padding:30px 8px 14px;background:linear-gradient(transparent,#000b);font-size:.8rem;font-weight:600}
.shoot-video-play .ui-icon{width:20px;height:20px;flex-shrink:0}
.shoot-video-card h4{font-size:.95rem;line-height:1.35;margin:12px 0 0;font-weight:600}
@media(max-width:1000px){.shoot-video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.shoot-videos{margin-top:40px;padding-top:30px}.shoot-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.shoot-video-play{font-size:.75rem}.shoot-video-card h4{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.shoot-video-trigger img{transition:none}}

/* A single, compact row on every screen size. */
.shoot-videos{position:relative;margin-top:44px;padding-top:28px}
.shoot-videos-heading{padding-right:110px;margin-bottom:20px;max-width:760px}
.shoot-video-controls{position:absolute;right:0;top:28px;display:flex;gap:8px}
.shoot-video-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer}
.shoot-video-controls svg{width:22px;height:22px}
.shoot-video-controls button:hover{background:var(--surface)}
.shoot-video-controls button:focus-visible,.shoot-video-grid:focus-visible{outline:3px solid var(--rust);outline-offset:3px}
.shoot-video-grid{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;padding:6px 4px 14px;margin-inline:-4px;direction:ltr}
.shoot-video-card{flex:0 0 190px;scroll-snap-align:start}
.shoot-video-trigger{aspect-ratio:4/5}
.shoot-video-card h4{min-height:2.7em}
@media(max-width:600px){.shoot-videos{margin-top:30px;padding-top:24px}.shoot-video-controls{top:24px}.shoot-videos-heading{padding-right:100px}.shoot-videos-heading h3{font-size:1.65rem}.shoot-videos-heading p{font-size:.9rem;margin-right:-100px;margin-top:16px}.shoot-video-grid{gap:14px}.shoot-video-card{flex-basis:170px}}
