:root{--booking-shape:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20300%2090%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M10%201H290Q290%2010%20299%2010V80Q290%2080%20290%2089H10Q10%2080%201%2080V10Q10%2010%2010%201Z%22%20fill%3D%22%23315b48%22%20stroke%3D%22%23698871%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22%2F%3E%3C%2Fsvg%3E");--portrait-frame:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20300%20400%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M17%201H283Q283%2017%20299%2017V383Q283%20383%20283%20399H17Q17%20383%201%20383V17Q17%2017%2017%201Z%22%20fill%3D%22none%22%20stroke%3D%22%23f8f3e7b0%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22%2F%3E%3C%2Fsvg%3E")}
/* Restrained Scandinavian details inspired by the supplied reference. */
:root{--paper:#faf8f3;--accent:#315b48;--line:#deded7}
.header{border-radius:10px;box-shadow:none;border:1px solid #ffffff20}
.hero{border-radius:12px}
.hero:after{content:'';position:absolute;inset:12px;border:1px solid #ffffff38;border-radius:3px;pointer-events:none;z-index:0}
.hero-location{border-radius:3px;background:transparent;backdrop-filter:none;font-size:9px;letter-spacing:1.7px}
.hero-film-card{border-radius:5px;background:#082c2385;box-shadow:none}
.hero-film-thumb{border-radius:2px}
.hero-work-link{letter-spacing:.5px;font-size:12px}
.hero-content .button{padding-left:30px;padding-right:30px}
.button,.button.small,.button.light,.round-book{position:relative;isolation:isolate;background:transparent;border-radius:0;border:0;box-shadow:none;transition:transform .2s;overflow:visible}
.button:before,.round-book:before{content:'';position:absolute;inset:0;z-index:-1;background-image:var(--booking-shape);background-size:100% 100%;background-repeat:no-repeat;pointer-events:none;transition:opacity .2s}
.button:hover,.button.small:hover,.button.light:hover,.round-book:hover{background:transparent;box-shadow:none;transform:translateY(-2px)}
.button:hover:before,.round-book:hover:before{opacity:.88}
.button.small{font-size:11px;letter-spacing:.6px;min-height:46px}
.round-book{min-height:60px;min-width:205px}
.manifesto-strip{font-size:12px;font-weight:500;gap:40px;color:#697366}
.spark{font-size:15px;color:#ac985c}
.section-top .eyebrow,.about-copy .eyebrow{font-size:10px;letter-spacing:2px;color:#6e7b78}
.section h2 em{color:#536e59}
.text-link{font-size:12px;letter-spacing:.2px;border-color:#c4cac6}
.about-portrait{border-radius:5px;background:transparent;outline:1px solid #d7dbd5;outline-offset:8px}
.about-portrait>img{border-radius:5px}
.about-portrait:after{z-index:1;content:'';position:absolute;inset:10px;background-image:var(--portrait-frame);background-size:100% 100%;background-repeat:no-repeat;pointer-events:none}
.portrait-sticker,.portrait-caption{z-index:2}
.portrait-sticker{width:105px;height:105px;top:32px;right:-22px;background:#d3bf83;box-shadow:none}
.portrait-sticker>span:first-child{font-size:30px}
.portrait-sticker>span:last-child{font-size:8px;letter-spacing:.8px}
.portrait-caption{border-radius:2px;background:#082c2370;letter-spacing:1px;font-size:8px}
.about-facts div{border-color:#deded7}
.about-facts span{background:transparent;border:1px solid #d9ddd7;border-radius:3px;color:#69786e}
.services-section{background:#f0f0e9;border:1px solid #deded7;border-radius:8px;position:relative}
.service-row{border-radius:4px;background:#eee9d9;border:1px solid #d8ceb1;min-height:300px;box-shadow:none}
.service-row:nth-child(2){background:#e2e6d7;border-color:#cbd3c3}
.service-row:nth-child(3){background:#082c23;border-color:#315547}
.service-row:after{content:'';position:absolute;inset:7px;border:1px solid #ffffff70;pointer-events:none}
.service-row:nth-child(3):after{border-color:#cbd3c328}
.service-row:hover{transform:translateY(-3px);box-shadow:none}
.service-index{border-radius:3px;font-weight:500}
.service-copy strong{font-size:24px;letter-spacing:-.8px}
.final-cta{border-radius:8px;background:#ebe6d6;border:1px solid #d5caad;position:relative}
.final-cta:before{content:'';position:absolute;inset:10px;border:1px solid #fff9;pointer-events:none}
.final-cta .eyebrow{color:#86764d;font-size:10px;letter-spacing:1.8px}
.final-cta h2 em{color:#8b7750}
footer{border-radius:8px;border:1px solid #315547}
.footer-bottom{border-color:#50746466}
.gallery-toolbar{padding-top:22px;border-top:1px solid #deded7}
.gallery-filters button{border-radius:3px;background:transparent;border-color:#d5dbd6;color:#647575;padding:9px 18px}
.gallery-filters button[aria-pressed=true]{background:#082c23;color:white;border-color:#082c23}
.portfolio-image{border-radius:6px;border:1px solid #d1d5d2}
.portfolio-badges>span{border-radius:2px}
.portfolio-open{background:#faf8f3;color:#082c23;border:1px solid #d2d8d1}
.film-play{background:#315b48;box-shadow:0 0 0 8px #ffffff26}
.portfolio-caption{padding-top:15px}
.portfolio-caption>span{color:#6d7b75}
.empty-slot .portfolio-image{background:#e4e7d9;border-color:#d1d8c8}
.empty-slot:nth-child(even) .portfolio-image{background:#eee8d7;border-color:#d7ccae}
.slot-plus{color:#315b48}
.gallery-end{border-color:#deded7}
.gallery-end p{color:#647575;text-transform:none}
.gallery-end .text-link{color:#315b48;border-color:#c4cec9}
dialog{background:#faf8f3;border-radius:8px;border:1px solid #d6dcd6}
#gallery-dialog{border-color:#315547}
@media(max-width:1050px){.service-copy strong{font-size:22px}.portrait-sticker{width:95px;height:95px}}
@media(max-width:760px){.header{border-radius:8px}.header nav{border-radius:0 0 8px 8px}.hero{border-radius:8px}.hero:after{inset:8px;border-radius:2px}.hero-film-card{border-radius:4px;left:7%;right:7%;bottom:21px}.hero-film-thumb{border-radius:2px}.hero-work-link{font-size:10px;letter-spacing:0}.hero-content .button{padding-left:20px;padding-right:20px}.manifesto-strip{gap:13px;font-size:9px}.section-top .eyebrow,.about-copy .eyebrow{font-size:8px;letter-spacing:1.5px}.about-portrait{outline-offset:6px}.about-portrait:after{inset:8px}.portrait-sticker{width:92px;height:92px;right:-23px;top:25px}.portrait-sticker>span:first-child{font-size:28px}.portrait-sticker>span:last-child{font-size:7px}.portrait-caption{font-size:7px}.services-section,.final-cta,footer{border-radius:6px}.service-row{min-height:230px;border-radius:3px}.service-copy strong{font-size:25px}.final-cta .eyebrow{font-size:8px}.gallery-filters button{padding:9px 12px;font-size:11px}.portfolio-image{border-radius:4px}.film-play{box-shadow:0 0 0 5px #ffffff26}.round-book{min-height:57px}.gallery-end p{font-size:27px}dialog{border-radius:6px}}
.button.small{--booking-shape:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20300%2090%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M10%201H290Q290%2010%20299%2010V80Q290%2080%20290%2089H10Q10%2080%201%2080V10Q10%2010%2010%201Z%22%20fill%3D%22%23d3bf83%22%20stroke%3D%22%23dbc991%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22%2F%3E%3C%2Fsvg%3E")}
.button.light,.round-book,.booking-controls .button,.booking-success .button{--booking-shape:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20300%2090%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M10%201H290Q290%2010%20299%2010V80Q290%2080%20290%2089H10Q10%2080%201%2080V10Q10%2010%2010%201Z%22%20fill%3D%22%23082c23%22%20stroke%3D%22%23315547%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22%2F%3E%3C%2Fsvg%3E")}

/* Forest green, ivory, and muted gold. All media keep their original colors. */
:root{--black:#082c23;--paper:#faf8f1;--accent:#1b5744;--orange:#d3bf83}
.header{background:#082c23;border-color:#456348}
.hero:after{border-color:#ded1a245}
.hero-location{border-color:#ded1a24d;color:#f3efdc}
.hero-film-card{background:#082c23b3;border-color:#d3bf8355}
.hero-italic{color:#ded1a2}
.hero-film-card>span>span:last-child{color:#ded1a2}
.button,.button.small{color:#082c23}
.button.light,.round-book{color:#f6f4e8}
.section h2 em{color:#627a61}
.spark{color:#ab9457}
.portrait-sticker{background:#d3bf83;color:#082c23}
.services-section{background:#0d352b;border-color:#385846;color:#f6f4e8}
.services-section .section-top .eyebrow{color:#cfbf89}
.services-section .section-aside{color:#b8c9bb}
.services-section h2 em{color:#d3bf83}
.service-row{background:#164238;border-color:#446552;color:#f6f4e8}
.service-row:nth-child(2){background:#103b31;border-color:#446552}
.service-row:nth-child(3){background:#082c23;border-color:#446552}
.service-row:after,.service-row:nth-child(3):after{border-color:#d3bf8329}
.service-index,.service-row:nth-child(3) .service-index{border-color:#d3bf8370;color:#ded1a2}
.service-copy>span{color:#c5d5c8;opacity:1}
.service-price{color:#ded1a2}
.service-duration{color:#b8c9bb;opacity:1}
.service-plus{color:#ded1a2}
.price-note{color:#b8c9bb}
.final-cta{background:#ebe6d6;border-color:#d5caad}
.final-cta h2 em{color:#627a61}
.final-cta .eyebrow{color:#768065}
footer{background:#06271f;border-color:#315547}
.footer-bottom{border-color:#7d947250}
.gallery-filters button[aria-pressed=true]{background:#082c23;border-color:#082c23}
.film-play{background:#0d352b;color:#ded1a2;border:1px solid #d3bf83;box-shadow:0 0 0 8px #ffffff20}
.gallery-end .text-link{color:#315b48}
.booking-progress .active{color:#1b5744}
.success-symbol{color:#1b5744}
@media(max-width:760px){.film-play{box-shadow:0 0 0 5px #ffffff20}}
:root,.button.small{--booking-shape:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20300%2090%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M10%201H290Q290%2010%20299%2010V80Q290%2080%20290%2089H10Q10%2080%201%2080V10Q10%2010%2010%201Z%22%20fill%3D%22%23f7f4e9%22%20stroke%3D%22%23d2c398%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22%2F%3E%3C%2Fsvg%3E")}
.button.light,.round-book,.booking-controls .button,.booking-success .button{--booking-shape:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20300%2090%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M10%201H290Q290%2010%20299%2010V80Q290%2080%20290%2089H10Q10%2080%201%2080V10Q10%2010%2010%201Z%22%20fill%3D%22%23082c23%22%20stroke%3D%22%236f805d%22%20stroke-width%3D%221%22%20vector-effect%3D%22non-scaling-stroke%22%2F%3E%3C%2Fsvg%3E")}

.booking-controls .button,.booking-success .button{color:#f6f4e8}

/* Keep the concave header corners the same size at every screen width. */
.header{background:transparent;border:0;border-radius:0;isolation:isolate}
.header:before{content:'';position:absolute;inset:0;z-index:-1;border:22px solid transparent;border-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cpath%20d%3D%22M12%201H88Q88%2012%2099%2012V88Q88%2088%2088%2099H12Q12%2088%201%2088V12Q12%2012%2012%201Z%22%20fill%3D%22%23082c23%22%20stroke%3D%22%236f805d%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M18%206H82Q82%2018%2094%2018V82Q82%2082%2082%2094H18Q18%2082%206%2082V18Q18%2018%2018%206Z%22%20fill%3D%22none%22%20stroke%3D%22%23d3bf8366%22%20stroke-width%3D%22.7%22%2F%3E%3C%2Fsvg%3E") 22 fill stretch;pointer-events:none}
@media(max-width:760px){.header nav{top:calc(100% + 8px);border:1px solid #456348;border-radius:4px}}

/* Helpful bilingual content and native FAQ disclosures. */
.hero-description p{max-width:360px}.hero-content{width:78%}
.about-copy>p.about-care{font-size:13px;color:#66796b;line-height:1.8;margin-top:15px}
.faq-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:start;padding-top:95px;padding-bottom:70px}
.faq-heading .eyebrow{font-size:10px;letter-spacing:1.8px;color:#6e7b78}
.faq-heading h2{font-size:clamp(37px,4.2vw,59px)}
.faq-heading>p:last-child{font-size:14px;line-height:1.8;color:#64796d;max-width:320px;margin-top:24px}
.faq-list{border-top:1px solid #d6dcd0}
.faq-list details{border-bottom:1px solid #d6dcd0;padding:0}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;list-style:none;cursor:pointer;font-size:14px;font-weight:600;line-height:1.6;color:#082c23}
.faq-list summary::-webkit-details-marker{display:none}.faq-symbol{font-size:24px;font-weight:400;color:#8b7850;transition:transform .2s;flex-shrink:0}.faq-list details[open] .faq-symbol{transform:rotate(45deg)}
.faq-list details>p{font-size:14px;line-height:1.85;color:#64796d;padding:0 35px 21px 0;margin:0}
.faq-list summary:focus-visible{outline:2px solid #1b5744;outline-offset:5px}
@media(max-width:1050px){.hero-content{width:85%}.hero-description p{max-width:340px}}
@media(max-width:760px){.hero-content{width:100%}.hero-description p{font-size:13px;line-height:1.65;max-width:290px}.hero .eyebrow{margin-bottom:150px}.hero-buttons{gap:14px}.hero-work-link{font-size:10px}.hero-film-card strong{font-size:13px}.faq-section{grid-template-columns:1fr;gap:28px;padding-top:55px;padding-bottom:40px}.faq-heading h2{font-size:clamp(36px,9.5vw,51px)}.faq-heading .eyebrow{font-size:8px}.faq-heading>p:last-child{font-size:13px;margin-top:20px}.faq-list summary{font-size:13px;padding:20px 0}.faq-list details>p{font-size:13px;padding-right:15px}.about-copy>p.about-care{font-size:13px}}
