#services .service-duration-note{max-width:74ch;margin:-4px 0 24px;font-size:14px;line-height:1.7;color:var(--muted)}
/* Portfolio and services: shorter introductions, readable content, unchanged offers. */
#work{padding-top:36px}
#work .section-heading{margin-bottom:18px;gap:0}
#work .section-heading h2{font-size:clamp(32px,4vw,54px);line-height:1.08;margin:0;letter-spacing:-.02em}
#work .format-switch{margin-bottom:12px;gap:8px 26px}
#work .format-switch button{font-size:24px;min-height:44px;padding:8px 0 10px}
#work .format-switch button span{font-size:11px}
#work .catalog-filters{margin-bottom:0;gap:8px}
#work .catalog-filters button{min-height:44px;padding:9px 12px;font-size:13px}
#work .work-toolbar{margin-bottom:20px}
#work .work-tools{margin-top:10px;padding-top:0;border-top:0;gap:8px 20px;flex-wrap:nowrap}
#work .work-tools #work-count,#work .work-tools .motion-toggle{display:flex;align-items:center;font-size:12px;line-height:1.5;min-height:44px}
#work .work-tools #work-count{white-space:normal;min-width:0}
#work .work-tools .motion-toggle{flex-shrink:0;justify-content:center}
#work .work-tools .motion-toggle{padding-block:6px}
#work .card-info p{font-size:13px;line-height:1.6;margin-top:8px}
#work .photo-open{font-size:12px}
#services .section-heading{margin-bottom:24px}
#services .service{padding:26px 24px}
#services .service h3{font-size:34px;line-height:1.08;margin:14px 0}
#services .service>p{font-size:14px;line-height:1.65}
#services .service-index{font-size:11px;line-height:1.5;letter-spacing:1px}
#services .price{margin:18px 0 0}
#services .price small{font-size:13px;line-height:1.6}
#services .service ul{font-size:13px;line-height:1.6;margin:20px 0}
#services .service li{padding:7px 0}
#services .q4-minimum{margin:16px 0 0;padding:14px 0}
#services .q4-minimum p{font-size:13px;line-height:1.6;margin:0}
#services .q4-minimum strong{font-weight:600}
#services .q4-minimum>span{margin:7px 0;font-size:12px}
#services .q4-minimum small{font-size:12px;margin-top:4px}
#services .service-details{border-top:1px solid var(--line);margin:0 0 18px}
#services .service-details summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px;font-weight:600}
#services .service-details p{font-size:13px;line-height:1.7;margin:0 0 12px}
#services .service-details summary:focus-visible{outline:2px solid #805d3f;outline-offset:3px}
#services .services-note p,#services .custom-package-row p{font-size:13px;line-height:1.7}
@media(max-width:760px){
 #work{padding-top:28px}
 #work .section-heading{margin-bottom:14px}
 #work .section-heading h2{font-size:34px}
 #work .format-switch{gap:0 18px;margin-bottom:12px}
 #work .format-switch button{font-size:20px;padding:7px 0;min-height:44px}
 #work .catalog-filters{padding-bottom:4px;scrollbar-width:thin;scrollbar-color:#a98569 transparent}
 #work .catalog-filters::-webkit-scrollbar{display:block;height:3px}
 #work .catalog-filters::-webkit-scrollbar-thumb{background:#a98569;border-radius:3px}
 #work .work-tools{margin-top:6px;gap:8px 16px}
 #work .work-toolbar{margin-bottom:16px}
 #work .card-info p{font-size:12px;line-height:1.55}
 #services{padding-top:44px;padding-bottom:44px}
 #services .service{padding:24px}
 #services .service h3{font-size:32px}
 #services .services-note{margin-top:22px}
}
/* International contact input. Country data loads only when the enquiry opens. */
.enquiry-form .contact-choice{grid-template-columns:minmax(0,1fr)}
.whatsapp-field{min-width:0}
.whatsapp-title{display:block;font:inherit;margin-bottom:7px}
.whatsapp-input-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end}
.whatsapp-input-row .phone-country-label{display:block;margin:0;min-width:0}
.whatsapp-input-row input,.whatsapp-input-row select{width:100%;min-width:0;margin:0;min-height:48px}
.phone-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.enquiry-form .phone-feedback{font-size:12px;line-height:1.6;color:#705944;margin:8px 0 0}
.enquiry-form .phone-feedback.is-error{color:#922d2d}
.enquiry-form input[aria-invalid=true]{border-color:#922d2d}
@media(max-width:420px){.whatsapp-input-row{grid-template-columns:minmax(0,1fr);gap:8px}.whatsapp-input-row input,.whatsapp-input-row select{font-size:16px}}
/* A compact first view, with the whole collection one action away. */
.photo-teaser-mobile{display:none}
.sister-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 26px;margin:28px 0 18px}
.sister-copy .sister-actions>a{margin:0;flex:0 0 auto;max-width:100%;min-height:48px}
.sister-actions .sister-portfolio-link{font-size:13px;line-height:1.5}
.brand-wall-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brands-toggle{display:inline-flex;align-items:center;gap:17px;flex-shrink:0;min-height:46px;padding:10px 0;border:0;border-bottom:1px solid #a78a70;background:none;color:#63452f;font:500 13px/1.5 var(--sans);cursor:pointer}
.brands-toggle span{width:12px;height:12px;position:relative}
.brands-toggle span::before,.brands-toggle span::after{content:'';position:absolute;inset:5px 0 auto;height:1px;background:currentColor;transition:transform .2s}
.brands-toggle span::after{transform:rotate(90deg)}
.brands-toggle[aria-expanded=true] span::after{transform:none}
.brands-toggle:focus-visible{outline:2px solid #805d3f;outline-offset:5px}
.brand-marquee.brands-expanded{mask-image:none;overflow:visible;padding:18px 0 0}
.brands-expanded .brand-track{display:block;width:100%;animation:none;transform:none}
.brands-expanded .brand-set{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 24px;width:100%}
.brands-expanded .brand-set[aria-hidden=true]{display:none}
.brands-expanded .brand-logo{width:auto;min-height:90px}
@media(max-width:760px){
 .photo-teaser .photo-teaser-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;align-items:start}
 .photo-teaser .photo-teaser-grid button,.photo-teaser .photo-teaser-grid button:nth-child(3){display:block;margin:0}
 .photo-teaser .photo-teaser-grid button>span{font-size:25px;line-height:1.05}
 .photo-teaser .photo-teaser-grid small{font-size:10px;line-height:1.5;margin-top:9px}
 .sister-actions{align-items:flex-start;flex-direction:column;gap:10px}
 .sister-actions .sister-email{font-size:13px;padding-inline:23px}
 .brand-wall-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:14px}
 .brands-expanded .brand-set{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 12px}
 .brands-expanded .brand-logo img{max-width:100%;height:32px}
 .brands-expanded .brand-logo{min-height:65px}
}
@media(max-width:380px){.brands-expanded .brand-set{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.brands-toggle span::after{transition:none}}
.working-section .process-list{border-bottom:0;padding-bottom:0}
/* The final chapter: questions, personal channel, then one clear invitation. */
.working-details{margin-top:72px;padding:44px 0 0;border-top:1px solid #c6b098;grid-template-columns:minmax(210px,.72fr) minmax(0,1.45fr);gap:clamp(36px,6vw,100px);align-items:start}
.working-details>div:first-child{padding-top:19px}
.working-details>div>h3{font:48px/1.02 var(--serif);max-width:10ch;margin:0 0 25px;color:#39281f}
.working-details .booking-question{font-size:14px;line-height:1.7;margin:0;color:#78624f}
.working-details .booking-question a{margin-top:12px;font-size:14px;color:#4c3223}
.working-details .faqs{border:0;display:grid;gap:8px}
.working-details .faqs details{border:1px solid transparent;border-bottom-color:#cbb6a0;border-radius:4px;overflow:hidden;transition:background-color .2s,border-color .2s}
.working-details .faqs details:hover{background:none;border:1px solid transparent;border-bottom-color:#cbb6a0}
.working-details .faqs summary{min-height:78px;padding:22px 24px;font-size:17px;line-height:1.5;font-weight:500;color:#442f22;gap:24px}
.working-details .faqs details[open]{background:#422d23;border:1px solid #422d23}
.working-details .faqs details[open] summary{color:#fcf4e8}
.working-details .faqs details[open] summary>span{color:#d7b994}
.working-details .faqs details>p{max-width:none;padding:0 56px 24px 24px;color:#eadbca;font-size:15px;line-height:1.8}
.working-details .faqs details>p+p{margin-top:-8px}
.working-details .faqs .pr-contact-actions{margin:0 24px 22px;gap:14px 25px}
.working-details .faqs .pr-contact-actions a,.working-details .faqs .pr-contact-actions button{color:#fff1df;border-color:#b89878;font-size:13px}
.working-details .faqs summary:focus-visible{outline:2px solid #a9865f;outline-offset:-4px}
.instagram-band{grid-template-columns:minmax(0,1fr) auto;gap:28px 50px;background:#e8ddce;padding-top:52px;padding-bottom:38px;border-top:1px solid #cebaa4}
.instagram-identity{gap:22px;text-decoration:none;align-items:center}
.instagram-icon{width:64px;height:64px;border:0;border-radius:18px;background:radial-gradient(circle at 28% 108%,#ffce64 0%,#f28d4a 26%,#d04b70 55%,#8058a4 80%,#5672ab 100%);color:white;box-shadow:0 5px 18px #6e3c2118}
.instagram-icon svg{width:30px;height:30px;stroke-width:1.6}
.instagram-identity small{font-size:10px;letter-spacing:1.4px;color:#755b45;margin:0 0 8px}
.instagram-identity strong{font:500 clamp(23px,2.1vw,31px)/1.25 var(--sans);letter-spacing:-.9px;color:#432e22}
.instagram-caption{font-size:13px;line-height:1.6;margin-top:8px;color:#715b49}
.instagram-visit{display:inline-block;margin-top:13px;font:500 12px/1.5 var(--sans);padding-bottom:3px;border-bottom:1px solid #aa8767;color:#563824}
.instagram-identity:hover .instagram-visit{border-color:#4c301e;color:#352118}
.instagram-stats{gap:32px;align-items:start}
.instagram-stats>div+div{border-left:1px solid #bea78c;padding-left:32px}
.instagram-stats strong{font:500 29px/1.15 var(--sans);letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#513524}
.instagram-stats span{font-size:11px;line-height:1.6;margin-top:9px;color:#705944}
.instagram-evidence{padding-top:20px;margin:0;font-size:11px;line-height:1.7;border-color:#c9b39b;color:#76604b}
.contact-email-only{display:block;padding-top:86px;padding-bottom:80px;text-align:center;background:#32231d}
.contact-email-only .contact-copy{max-width:700px;margin:0 auto;padding:0}
.contact-email-only h2{font-size:clamp(54px,5.5vw,84px);line-height:.98;letter-spacing:-2px;margin:0 auto 25px}
.contact-email-only h2 em{color:#d4b58e}
.contact-email-only .contact-copy p{max-width:43ch;font-size:15px;line-height:1.8;margin:0 auto;color:#dccab7}
.contact-email-only .email-card{background:none;border:0;border-radius:0;box-shadow:none;padding:0;margin:40px auto 0;max-width:850px;text-align:center}
.contact-email-only .email-card-label{display:none}
.contact-email-only .contact-email{font:400 clamp(25px,3.3vw,46px)/1.4 var(--sans);letter-spacing:-1.2px;display:inline-block;margin:0;white-space:nowrap;color:#f7ecdc;max-width:100%;padding:0 0 8px;border-bottom:1px solid #99785b;transition:border-color .2s,color .2s}
.contact-email-only .contact-email:hover{color:#fff;border-color:#e8cda9}
.contact-email-only .email-actions{justify-content:center;gap:22px 34px;margin-top:30px}
.contact-email-only .email-actions .button,.contact-email-only .copy-email{display:inline-flex;align-items:center;justify-content:center;min-height:54px;font-size:14px;line-height:1.4;text-align:center}
.contact-email-only .email-actions .button{min-width:194px}
.contact-email-only .copy-email{gap:10px;padding:14px 0;color:#ecddcb;border:1px solid transparent;border-bottom-color:#99785b}
.contact-email-only .copy-email svg{width:16px;height:16px;flex:none}
.contact-email-only .copy-status{font-size:12px;line-height:1.6;min-height:20px;margin:18px 0 0;color:#d5bfa6}
@media(max-width:1000px){.instagram-band{grid-template-columns:1fr;gap:28px}.instagram-stats{margin-left:86px}.instagram-evidence{grid-column:1}}
@media(max-width:760px){
 .working-details{margin-top:48px;padding-top:34px;grid-template-columns:1fr;gap:26px}
 .working-details>div:first-child{padding-top:0}
 .working-details>div>h3{font-size:40px;max-width:none;margin-bottom:15px}
 .working-details .booking-question{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;font-size:13px}
 .working-details .booking-question br{display:none}
 .working-details .booking-question a{margin:0;font-size:13px}
 .working-details .faqs{gap:7px}
 .working-details .faqs summary{padding:20px 16px;font-size:16px;min-height:78px;gap:18px}
 .working-details .faqs details>p{padding:0 16px 22px;font-size:14px}
 .working-details .faqs .pr-contact-actions{margin:0 16px 20px}
 .instagram-band{padding-top:36px;padding-bottom:30px;gap:24px}
 .instagram-identity{gap:16px;align-items:flex-start}
 .instagram-icon{width:48px;height:48px;border-radius:14px}
 .instagram-icon svg{width:25px;height:25px}
 .instagram-identity strong{font-size:22px;letter-spacing:-.7px}
 .instagram-identity small{font-size:9px;letter-spacing:1.2px}
 .instagram-caption{font-size:12px;max-width:25ch}
 .instagram-stats{margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}
 .instagram-stats>div+div{padding-left:20px}
 .instagram-stats strong{font-size:27px}
 .instagram-evidence{padding-top:17px;font-size:10px}
 .contact-email-only{padding-top:54px;padding-bottom:44px}
 .contact-email-only h2{font-size:53px;letter-spacing:-1.4px;margin-bottom:22px}
 .contact-email-only .contact-copy p{font-size:14px;max-width:31ch}
 .contact-email-only .email-card{margin-top:30px}
 .contact-email-only .contact-email{font-size:clamp(23px,6.5vw,32px);letter-spacing:-.8px}
 .contact-email-only .email-actions{margin-top:26px;gap:16px 24px}
}
@media(prefers-reduced-motion:reduce){.working-details .faqs details,.contact-email-only .contact-email{transition:none}}

/* R3 review: one open answer, clear contact routes and a quieter end to the page. */
.working-details .booking-question{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px}
.working-details .booking-question br{display:none}
.working-details .booking-question a{margin:0;display:inline-flex;align-items:center;min-height:44px}
.contact-email-only .copy-status{min-height:0;margin:14px 0 0}
.contact-email-only .copy-status:empty{display:none}
.contact-email-only .contact-email:focus-visible,.contact-email-only .copy-email:focus-visible{outline-color:#d4b58e}
.instagram-stats strong{font-variant-numeric:lining-nums tabular-nums}
.site-footer{background:#2a1d18;color:#d6c5b3;border-top:1px solid #5b433433;padding-top:30px;padding-bottom:30px}
.site-footer a{color:#e7d7c4}
.site-footer .wordmark{color:#f4eee5;gap:.22em;white-space:nowrap}
@media(min-width:761px){.working-details>div:first-child{position:sticky;top:110px;align-self:start}}
@media(max-width:760px){
 .contact-email-only .contact-email{font-size:clamp(22px,8vw,32px);letter-spacing:-.02em}
 .working-details .faqs summary{padding-block:18px}
 .instagram-band{padding-bottom:28px}
}

/* A bounded opening composition: the copy and portrait share one compact grid. */
.hero.section-wrap{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);column-gap:clamp(32px,4vw,56px);row-gap:32px;max-width:1240px;min-height:0;padding:48px 48px 56px;align-items:center}
.hero-copy{min-width:0}
.hero h1{font-size:clamp(48px,5.2vw,72px);line-height:1.06;letter-spacing:-.035em;margin:22px 0 24px;text-wrap:balance}
.hero-copy .hero-description{max-width:440px;font-size:16px;line-height:1.75;margin-bottom:0}
.hero .hero-actions{margin-top:26px;gap:12px}
.hero-copy .hero-proof{max-width:440px;margin:20px 0 0;font-size:13px;line-height:1.6;color:#735f50}
.hero-copy .hero-proof strong{font-weight:600;white-space:nowrap;color:#513c30}
.hero .hero-actions .button{min-height:52px;font-size:14px;padding:14px 22px}
.hero-editorial.hero-clean{width:100%;max-width:none;min-width:0;justify-self:stretch;margin:0}
.hero-clean .portrait-frame{height:auto;aspect-ratio:4/5}
/* Keep the second hand at the far left outside the frame; preserve the product on the right. */
.hero-clean .portrait-frame>img{object-fit:cover;object-position:100% 50%;transform:scale(1.15);transform-origin:100% 50%}
.sister-section .sister-evidence{color:#d0bba7;font-size:12px;line-height:1.7}
.sister-section .duet-caption span{font-size:11px;line-height:1.6;color:#decdbb}
@media(min-width:761px) and (max-width:1000px){
 .hero.section-wrap{padding:36px 32px 44px}
 .hero-copy .hero-description{font-size:15px}
 .hero .hero-actions .button{font-size:13px;padding-inline:18px}
}
@media(max-width:760px){
 .hero.section-wrap{grid-template-columns:minmax(0,1fr);gap:30px;padding:30px 6% 40px}
 .hero h1{font-size:clamp(36px,8.8vw,62px);line-height:1.06;margin:18px 0 22px}
 .hero-copy .hero-description{font-size:14px;max-width:440px}
 .hero .hero-actions{margin-top:22px}
 .hero .hero-actions .button{font-size:13px;min-height:48px;padding:13px 18px}
 .hero-editorial.hero-clean{width:100%;max-width:480px;margin-inline:auto;justify-self:center}
}
@media(max-width:360px){.hero .hero-actions{gap:10px}.hero .hero-actions .button{font-size:12px;padding-inline:14px}}

/* Full-width colour bands keep their content aligned with the wide-screen header. */
@media(min-width:1600px){
 .client-feedback,.instagram-band{padding-inline:calc((100% - 1376px)/2)}
}

/* Clear package entry points and location for project planning. */
#services .service-footer{align-items:stretch;gap:10px;padding-top:10px}
#services .package-booking{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:58px;width:100%;padding:17px 22px;border:1px solid #38271f;background:#38271f;color:#f7f0e6;font-size:16px;line-height:1.4;font-weight:600;text-align:center;cursor:pointer;box-shadow:none;transition:background 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
#services .package-booking:hover{background:#51392e;border-color:#51392e;box-shadow:0 4px 12px #38271f1a}
#services .package-booking:active{box-shadow:inset 0 1px 4px #0002}
#services .package-booking:focus-visible{outline:3px solid #9e744d;outline-offset:4px}
#services .featured-service .package-booking{background:#f4ecdf;border-color:#f4ecdf;color:#38271f}
#services .featured-service .package-booking:hover{background:#e6d7c3;border-color:#e6d7c3}
#services .package-next-step{margin:0;font-size:12px;line-height:1.6;color:#6c513c;text-align:center}
#services .featured-service .package-next-step{color:#decebb}
#services .custom-package-row .package-booking{width:auto;min-width:230px;flex-shrink:0}
#contact .contact-copy .contact-location{max-width:52ch;margin:26px auto 0;font-size:14px;line-height:1.7;color:#d2c2af}
#contact .contact-location strong{display:block;font-weight:500;color:#f4ecdf}
#contact .contact-location span{display:block;margin-top:4px}
.options-dialog .scope-bundle-note{margin:22px 0 18px;padding:16px 18px;border-left:2px solid #9e744d;background:#e9dfd1;color:#604936;font-size:13px;line-height:1.7}
.options-dialog .scope-bundle-note strong{display:block;font-weight:600;margin-bottom:3px}
@media(max-width:760px){
 #services .custom-package-row .package-booking{width:100%;min-width:0}
 #contact .contact-copy .contact-location{font-size:13px}
}
@media(prefers-reduced-motion:reduce){#services .package-booking{transition:none}}

/* Package names carry the offer; seasonal savings stay separate from base prices. */
#services .service .service-title{font-size:38px;font-weight:500;line-height:1.08;letter-spacing:-.02em;margin:14px 0 18px;min-height:2.16em;color:inherit}
#services .service-index{font-size:12px;font-weight:600;letter-spacing:.12em;color:#805d3f}
#services .featured-service .service-index{color:#d8b993}
#services .price-custom b{display:block;font-weight:500;color:#653c31}
#services .price-custom>span{display:block;margin-bottom:10px}
#services .service-footer{flex-direction:column}
@media(max-width:760px){
 #services .service .service-title{font-size:34px;min-height:0}
}

/* Section backgrounds meet the sticky header; spacing belongs inside each section. */
#about,#services{padding-top:56px}
@media(max-width:760px){#about,#services{padding-top:36px}}

/* Comfortable close target without enlarging the icon. */
.project-dialog .dialog-close,.enquiry-close,.options-close,.feedback-close{width:44px;height:44px;min-width:44px;min-height:44px}
