/* Editorial additions: native controls, accessible motion, narrow-screen comfort. */
.celebration-edit{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.edit-copy>p{max-width:48ch}.edit-copy .button{margin-top:20px}
.edit-steps{padding:28px 34px;background:#eff4f0;border-radius:38px 38px 100px 38px}
.edit-steps article{display:flex;gap:22px;padding:24px 0}.edit-steps article+article{border-top:1px solid #d6e2da}
.edit-steps article>span{font-family:Georgia,serif;font-style:italic;font-size:32px;color:#58756c}.edit-steps h3{margin:0 0 8px}.edit-steps p{margin:0}
.discovery-ribbon{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:90px}
.discovery-ribbon>a{display:grid;grid-template-columns:1fr auto;gap:12px;padding:36px;background:#f6e9ed;border-radius:30px;text-decoration:none}
.discovery-ribbon>a+ a{background:#edf2ee}.discovery-ribbon span{font-size:10px;letter-spacing:.17em;grid-column:1/-1}.discovery-ribbon strong{font-family:Georgia,serif;font-size:26px;font-weight:400}.discovery-ribbon b{font-size:28px;font-weight:400}
.service-reading .text-link{margin-top:28px;display:inline-block}.service-reading .related-grid p{font-size:14px;line-height:1.8}
.guide-search{max-width:660px;margin:0 auto 40px}.guide-search label{display:block;margin-bottom:10px;font-size:14px}.guide-search input{width:100%;border:1px solid #c7d5cc;border-radius:100px;background:white;padding:17px 24px;font:inherit;color:#283d34}.guide-search p{font-size:13px;color:#52655b;margin:10px 20px}
.guide-card[hidden]{display:none!important}.planner-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:start}
.detail-visual{position:relative;width:100%;min-width:0;margin:0}.detail-visual .detail-photo{display:block}.detail-visual figcaption{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 26px);padding:9px 16px;border:1px solid #ffffffb8;border-radius:999px;background:#fffdf2e8;color:#52675e;text-align:center;font-size:10px;line-height:1.5;letter-spacing:.15px;box-shadow:0 7px 24px #29382b16;backdrop-filter:blur(12px)}.concept-note{max-width:720px;margin:26px auto 0;padding:15px 20px;border:1px solid #e0e9e1;border-radius:18px;background:#f5f8f4;color:#66776d;text-align:center;font-size:12px;line-height:1.8}
#celebration-form,.planner-result{border-radius:36px;background:white;border:1px solid #e3e9e2;padding:40px}
#celebration-form label{display:block;margin:22px 0 9px;font-size:14px;color:#3f5047}
#celebration-form input,#celebration-form textarea,#celebration-form select{width:100%;min-width:0;padding:15px;border:1px solid #d2ddd5;border-radius:16px;background:#fcfcf9;color:#303e35;font:inherit;font-size:16px;box-sizing:border-box}
#celebration-form textarea{resize:vertical}#celebration-form .button{margin-top:24px;width:100%;justify-content:center}
.planner-result{background:#edf3ee;position:sticky;top:124px}.planner-result h2{font-size:46px}.planner-result>p{overflow-wrap:anywhere}
.checklist h3{font-size:17px;margin:25px 0 16px}.checklist label{display:flex;align-items:flex-start;gap:12px;padding:12px 0;cursor:pointer;font-size:14px;line-height:1.7}.checklist input{flex:0 0 auto;width:20px;height:20px;accent-color:#55746b;margin-top:2px}.checklist input:checked+span{color:#607568}
#plan-progress{width:100%;height:8px;border:0;border-radius:10px;overflow:hidden;accent-color:#55746b;margin-top:18px}#plan-progress::-webkit-progress-bar{background:#d7e2d8}#plan-progress::-webkit-progress-value{background:#55746b;transition:width .25s ease}#plan-count{font-size:13px}.planner-result .button{font-size:14px;text-align:center}.planner-result>.text-link{display:block;margin-top:20px;font-size:14px}#plan-send[hidden]{display:none}
.area-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}.area-cards article{padding:40px;border:1px solid #e1e6df;border-radius:35px;background:white}.area-cards article:nth-child(2){background:#f6eeec}.area-cards h2{font-size:38px}.district-names{color:#526e61;font-weight:500;line-height:2}
.faq-topics{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:60px}.faq-topics a{padding:12px 18px;border:1px solid #d3dfd6;border-radius:80px;font-size:14px;text-decoration:none}.faq-topic{max-width:900px;margin:0 auto 60px;scroll-margin-top:130px}.faq-topic h2{font-size:36px}.faq-topic>.text-link{display:inline-block;margin-top:20px}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #527463;outline-offset:5px}
.guide-card,.discovery-ribbon>a{transition:transform .28s ease,box-shadow .28s ease}
@media(hover:hover){.guide-card:hover,.discovery-ribbon>a:hover{transform:translateY(-5px);box-shadow:0 16px 35px #456a5010}}
/* A few quiet details for touch and hover; no layout movement or forced motion. */
@media(prefers-reduced-motion:no-preference){
 .gallery-item img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
 .detail-visual figcaption{animation:captionFade .55s .35s both;transition:transform .25s ease,box-shadow .25s ease}
 .faq-topics a{transition:background-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease}
 #celebration-form :is(input,select,textarea),.guide-search input,.studio-card select{transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease}
 .filters button{transition:background-color .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}
 .button,.nav-cta,.filters button,.faq-topics a{transition-duration:.22s}
 @media(hover:hover){.gallery-item:hover img{transform:scale(1.025)}.detail-visual:hover figcaption{transform:translate(-50%,-3px);box-shadow:0 10px 28px #29382b1c}.faq-topics a:hover{box-shadow:0 5px 16px #456a5010}}
 .button:active,.nav-cta:active,.filters button:active,.faq-topics a:active{transform:scale(.985)}
 #celebration-form :is(input,select,textarea):focus-visible,.guide-search input:focus-visible,.studio-card select:focus-visible{border-color:#8ba99a;box-shadow:0 0 0 4px #55746b16}
}
@keyframes captionFade{from{opacity:0}to{opacity:1}}
@media(max-width:760px){
 .celebration-edit,.planner-layout,.area-cards{grid-template-columns:1fr;gap:28px}.edit-steps{padding:16px 24px;border-radius:28px 28px 70px 28px}.edit-steps article{gap:18px;padding:22px 0}
 .discovery-ribbon{grid-template-columns:1fr;gap:16px;margin-bottom:60px}.discovery-ribbon>a{padding:26px;border-radius:26px}.discovery-ribbon strong{font-size:25px}
 #celebration-form,.planner-result{padding:26px 22px;border-radius:28px}.planner-result{position:static}.planner-result h2{font-size:38px}#celebration-form .form-row{grid-template-columns:1fr;gap:0}.area-cards article{padding:28px}.area-cards h2{font-size:32px}
 .faq-topics{justify-content:flex-start;gap:9px;margin-bottom:40px}.faq-topics a{font-size:12px;min-height:44px;display:flex;align-items:center}.faq-topic h2{font-size:30px}
 .guide-heading h1{font-size:clamp(32px,8.5vw,42px)}.guide-copy p{font-size:16px;line-height:1.9}.guide-layout aside{border-radius:24px}.guide-layout aside a{padding-top:10px;padding-bottom:10px}
 .detail-visual{max-width:490px;margin:0 auto}.detail-visual figcaption{bottom:14px;padding:8px 12px;font-size:9px}.concept-note{font-size:11px;padding:13px 15px}
 .mobile-contact{padding-bottom:max(10px,env(safe-area-inset-bottom));gap:8px}.mobile-contact a{min-height:46px;display:flex;align-items:center;justify-content:center}body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 #navigation.open{max-height:calc(100dvh - 170px);overflow-y:auto;overscroll-behavior:contain}#navigation a{min-height:44px;display:flex;align-items:center}
 .guide-search input{font-size:16px}.guide-search{margin-bottom:28px}.service-reading .related-grid{gap:16px}.faqs summary{min-height:54px;align-items:center}
}
@media(max-width:359px){.brand>span:not(.brand-symbol){font-size:18px}.brand small{font-size:7px;letter-spacing:1px}.brand .brand-symbol{width:48px;height:59px}.nav{gap:8px}.hero h1{font-size:37px}.button{padding-left:20px;padding-right:20px}.mobile-contact a{font-size:11px}.wrap{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){.guide-card,.discovery-ribbon>a,#plan-progress::-webkit-progress-value{transition:none}}
@media(max-width:600px){.services{grid-template-columns:minmax(0,1fr)}.service-card{min-width:0}.service-card .card-photo{height:310px}.service-card .card-line h3{font-size:28px}.concept-studio>*{min-width:0}.studio-card{padding:24px}.palette-options{grid-template-columns:1fr}.footer-grid>*{min-width:0}.footer-grid a{overflow-wrap:anywhere}.form-row>div{min-width:0}}
