:root{--paper:#faf8f3;--ink:#183c34;--muted:#6e756d;--line:#dedfd5;--accent:#d7e88b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #a47336;outline-offset:4px}.wrap{max-width:1240px;margin:auto;padding:0 48px}header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:11px;align-items:center;font-weight:700;font-size:19px;letter-spacing:-.5px}.brand-mark{display:grid;place-items:center;background:var(--ink);color:var(--accent);height:44px;width:44px;border-radius:12px;font-size:27px}.brand small{display:block;font-size:9px;letter-spacing:3px;font-weight:400}nav{display:flex;gap:32px;font-size:13px}.small-btn{border:1px solid var(--line);border-radius:8px;padding:10px 16px;background:transparent;font-size:13px;color:var(--ink)}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:44px;align-items:center;padding-top:36px;padding-bottom:72px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;display:flex;align-items:center;gap:8px}.eyebrow i{background:#849956;width:7px;height:7px;border-radius:50%}h1,h2,h3,p{margin:0}h1{font:500 clamp(40px,4.1vw,59px)/1.12 Georgia,serif;letter-spacing:-2px;margin:26px 0}h1 em{font-weight:400;color:#7a8971}p.lead{font-size:15px;line-height:1.85;color:var(--muted);margin-bottom:29px}.primary{padding:17px 22px;border:0;background:var(--ink);color:white;border-radius:8px;font-size:14px;display:inline-flex;gap:35px;align-items:center;justify-content:space-between}.primary:hover{background:#2c5347}.micro{font-size:11px;color:var(--muted);margin-top:13px}.hero-tags{display:flex;gap:18px;border-top:1px solid var(--line);padding-top:22px;margin-top:43px;font-size:11px;color:#6f786b}.hero-art{position:relative;border-radius:16px;background:#e6e1d6;overflow:hidden}.art-label{position:absolute;top:22px;left:26px;font-size:8px;letter-spacing:2px;color:#706958}.floating-note{position:absolute;bottom:22px;left:22px;background:#fffdf7ed;border-radius:10px;display:flex;align-items:center;gap:12px;padding:13px 17px;box-shadow:0 8px 20px #67594214;font-size:12px}.floating-note small{display:block;color:var(--muted);font-size:10px}.note-icon{font-size:23px;color:#8a9259}.services{padding-top:40px;padding-bottom:78px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-head p{font-size:13px;color:var(--muted)}h2{font:400 39px/1.15 Georgia,serif;letter-spacing:-1px;margin-top:17px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{border:1px solid var(--line);border-radius:12px;padding:27px;position:relative;background:#fffdfa}.service-no{position:absolute;right:26px;top:26px;font-size:11px;color:#93988b}.service-icon{font-size:31px;height:52px;color:#768457}.service h3{font-size:18px;font-weight:500;margin:17px 0 12px}.service p{font-size:13px;line-height:1.8;color:var(--muted);min-height:70px}.service ul{padding:0;list-style:none;margin:22px 0;font-size:12px;color:#66775f}.service li:before{content:'·';padding-right:10px}.service button{display:flex;justify-content:space-between;width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);padding:18px 0 0;text-align:left;font-size:12px}.section-foot{font-size:11px;color:var(--muted);margin-top:18px}.process{background:var(--ink);color:#f5f7ed;padding:63px 0}.process-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px}.process .eyebrow{color:#bccba1}.process p{color:#c4cec3;font-size:13px;margin-top:19px}.light{background:var(--accent);color:var(--ink);margin-top:27px}.light:hover{background:#e5f3ac}.process ol{list-style:none;padding:0;margin:0}.process li{display:flex;gap:25px;padding:20px 0;border-bottom:1px solid #ffffff22}.process li:last-child{border:0}.process li>span{font-size:12px;color:#b9cd8a;margin-top:3px}.process h3{font-size:16px;font-weight:500}.process li p{margin-top:7px;font-size:12px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;padding-top:80px;padding-bottom:65px}.faq h2{font-size:35px}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-size:14px;font-weight:500}details p{color:var(--muted);font-size:13px;margin-top:14px;line-height:1.85}.last-cta{margin-top:20px;margin-bottom:55px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:40px}footer{padding-top:30px!important;padding-bottom:32px!important;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer>a:last-child{font-size:10px;color:var(--muted)}.chat-fab{position:fixed;bottom:24px;right:25px;border:1px solid #d3e09b;border-radius:50px;background:var(--ink);color:white;padding:13px 19px;box-shadow:0 6px 26px #183c3425;z-index:2;font-size:14px}.chat-fab span{margin-left:7px}dialog{border:0;border-radius:16px;padding:0;width:min(470px,calc(100% - 24px));max-height:90dvh;color:var(--ink);box-shadow:0 24px 90px #102f3240;background:var(--paper)}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#183c345c;backdrop-filter:blur(3px)}.chat-header{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.avatar{background:var(--accent);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:23px}.chat-header strong{font-size:13px}.chat-header small{display:block;font-size:10px;color:var(--muted)}#close-chat{margin-left:auto;border:0;background:transparent;font-size:27px;color:var(--muted)}.chat-notice{background:#f0ebdf;padding:10px 20px;font-size:10px;color:#70624b}#messages{overflow-y:auto;padding:20px;min-height:220px;max-height:43dvh;display:flex;flex-direction:column;gap:12px}.message{border-radius:12px;padding:12px 15px;background:#e9eddf;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:93%}.message.user{background:var(--ink);color:white;align-self:flex-end}.message .summary-card{font-size:12px}#choices{padding:0 20px 12px;display:flex;flex-wrap:wrap;gap:7px}#choices button{border:1px solid #c6d0b4;border-radius:7px;background:#fffefa;padding:8px 11px;color:var(--ink);font-size:12px}#chat-form{display:flex;gap:10px;padding:14px 20px;border-top:1px solid var(--line)}#chat-input{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13px;background:white;color:var(--ink)}#chat-form button{background:var(--ink);color:white;border:0;border-radius:8px;width:42px}.chat-bottom{display:flex;justify-content:space-between;padding:0 20px 14px;font-size:10px;color:var(--muted)}.chat-bottom button{background:transparent;border:0;color:var(--muted);padding:0;text-decoration:underline;font-size:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:950px){.wrap{padding-left:28px;padding-right:28px}nav{gap:16px}.hero{gap:25px}h1{font-size:43px}.hero-tags{gap:10px}.service{padding:20px}.service p{min-height:95px}.process-inner{gap:40px}}@media(max-width:700px){.wrap{padding-left:22px;padding-right:22px}header{height:85px}nav{display:flex}.brand{font-size:16px}.brand-mark{width:36px;height:36px;font-size:23px}.small-btn{font-size:11px;padding:9px}.hero{grid-template-columns:1fr;padding-top:28px;padding-bottom:35px;gap:30px}h1{font-size:46px;letter-spacing:-1.8px}.lead{font-size:14px!important}.hero-art{max-height:380px}.hero-tags{margin-top:28px;justify-content:space-between}.services{padding-top:30px;padding-bottom:40px}.section-head{display:block}.section-head p{margin-top:20px}h2{font-size:34px}.service-grid{grid-template-columns:1fr}.service{padding:25px}.service p{min-height:auto}.service ul{display:flex;flex-wrap:wrap;gap:5px 15px;font-size:11px}.service h3{margin-top:8px}.process{padding:42px 0}.process-inner,.faq{grid-template-columns:1fr;gap:30px}.faq{padding-top:45px;padding-bottom:30px}.last-cta{display:block;margin-bottom:35px}.last-cta button{margin-top:25px}footer{flex-wrap:wrap;padding-bottom:85px!important}footer p{margin-left:auto}footer>a:last-child{width:100%}.chat-fab{bottom:16px;right:16px}.floating-note{bottom:17px;left:17px}dialog{max-height:94dvh}.chat-header{padding:15px}.chat-header strong{font-size:12px}#messages{max-height:42dvh;min-height:190px}}

[hidden]{display:none!important}.content-page{max-width:950px;padding-top:35px;padding-bottom:65px}.content-page h1{font-size:52px}.content-page h2{font-size:31px;margin:38px 0 20px}.content-page>p{color:var(--muted);margin:20px 0}.breadcrumb{font-size:12px;color:var(--muted)}.content-page table{width:100%;border-collapse:collapse;margin:20px 0;font-size:13px}.content-page th,.content-page td{text-align:left;padding:15px 10px;border-bottom:1px solid var(--line);vertical-align:top}.content-page th{background:#ecefdf}.content-page li{margin:14px 0}.content-page .service-grid{margin-top:25px}.notice{padding:18px;background:#ecefdf;border-radius:10px;font-size:13px;margin:25px 0}.content-page label{display:block;margin:12px 0;font-size:13px}.content-page input{padding:9px;border:1px solid var(--line);border-radius:6px;max-width:100%;width:140px}.calc{padding:22px;border:1px solid var(--line);border-radius:10px}.calc output{display:block;margin-top:18px;font-weight:bold}@media(max-width:700px){.content-page h1{font-size:40px}.content-page .service-grid{grid-template-columns:1fr}.content-page table{font-size:11px}.content-page td,.content-page th{padding:10px 7px}}
.hero-tags{flex-wrap:wrap}.four-services{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.four-services{grid-template-columns:1fr}.hero-tags{justify-content:flex-start;gap:10px 18px}.hero-tags span{min-width:42%}}

.consent-block{padding:12px 20px;background:#f0f1e7;border-top:1px solid var(--line)}.consent-label{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5}.consent-label input{width:17px;height:17px;flex-shrink:0;margin-top:2px;accent-color:var(--ink)}.consent-block a{text-decoration:underline}.consent-block p{font-size:10px;margin:6px 0 0;color:var(--muted)}#consent-error{color:#a34028}button:disabled{opacity:.45;cursor:not-allowed}

.portfolio{padding-top:70px;padding-bottom:10px}.master-profile{display:grid;grid-template-columns:220px 1fr;gap:35px;background:#edf0e4;border-radius:13px;padding:28px;margin-bottom:28px}.master-photo{background:#e2e7d8;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:235px;color:#829175}.master-photo svg{width:130px;height:130px}.master-photo span{font-size:11px;margin-top:10px}.master-bio{align-self:center;max-width:590px}.master-bio h3{font:400 29px/1.2 Georgia,serif;margin:16px 0}.master-bio>p{font-size:13px;color:var(--muted)}.master-bio .small-btn{margin-top:20px;border-color:#b6c3a9}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.work-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}.work-photo{aspect-ratio:1.5;background:#eeeae1;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#919480}.work-photo span{font-size:34px;font-weight:400}.work-photo p{font-size:10px;margin-top:8px}.work-copy{padding:20px}.work-copy h3{font-size:15px;font-weight:500;margin-bottom:10px}.work-copy p{font-size:12px;line-height:1.8;color:var(--muted)}@media(max-width:700px){.portfolio{padding-top:40px}.master-profile{grid-template-columns:1fr;gap:22px;padding:20px}.master-photo{min-height:200px}.portfolio-grid{grid-template-columns:1fr}}

.master-photo{position:relative;overflow:hidden;min-height:0;align-self:start}.master-photo img{display:block;width:100%;height:auto}.master-photo span{position:absolute;bottom:10px;left:10px;right:10px;background:#fffdf3eb;padding:6px 8px;border-radius:5px;text-align:center;font-size:9px;margin:0;color:var(--ink)}

.work-photo{overflow:hidden}.work-photo{position:relative;display:block}.work-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.work-copy{min-height:126px}

.hero-art{aspect-ratio:600/566}.hero-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.hero-art .art-label{z-index:1;background:#fffaf0de;padding:7px 9px;border-radius:5px;color:#5d5e4d}@media(max-width:700px){.hero-photo{object-position:center 55%}}

.skip-link{position:fixed;left:16px;top:12px;z-index:20;transform:translateY(-180%);padding:10px 16px;background:var(--ink);color:white;border-radius:8px}.skip-link:focus{transform:translateY(0)}.hero>* , .service-grid>* , .portfolio-grid>* , .master-profile>*{min-width:0}h1,h2{overflow-wrap:break-word}.service-no{color:#65715c}.art-label{font-size:10px}#messages{flex:1 1 auto;min-height:96px;max-height:none}.chat-header,.chat-notice,#choices,#chat-form,.consent-block,.chat-bottom{flex-shrink:0}dialog{overflow-y:auto}#consent-block input{cursor:pointer}#choices button,.small-btn{min-height:44px}.chat-bottom button{min-height:30px}.master-photo span{font-size:11px}@media(max-width:950px){nav{gap:13px;font-size:12px}header nav{min-width:0}}@media(max-width:700px){header{height:auto;min-height:85px;flex-wrap:wrap;padding-top:18px!important;padding-bottom:10px!important;gap:12px}header nav{display:flex;order:3;width:100%;max-width:100%;overflow-x:auto;gap:20px;white-space:nowrap;padding:8px 0 12px;scrollbar-width:thin}header nav a{display:inline-flex;align-items:center;min-height:32px;flex-shrink:0}h1{font-size:clamp(35px,9.8vw,46px)}.floating-note{max-width:calc(100% - 34px)}.content-page th,.content-page td{overflow-wrap:anywhere}.content-page table{table-layout:fixed}.content-page h1{font-size:clamp(32px,9vw,40px)}}@media(max-height:640px){#messages{min-height:64px}.chat-header{padding:10px 15px}.chat-notice{padding:7px 15px}.consent-block{padding:8px 15px}#choices{padding-bottom:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}}

.home-price-note{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #c8d2b7;background:#eef2e1;padding:22px 25px;border-radius:10px;margin-top:24px}.home-price-note strong{font-size:17px;font-weight:500}.home-price-note p{font-size:12px;color:var(--muted);margin-top:7px}.home-price-note a{flex-shrink:0;display:inline-flex;align-items:center}.visit-note{background:#eef2e1;padding:22px;border-radius:10px;margin:30px 0;font-size:14px}.visit-note p{font-size:13px;color:var(--muted);margin:9px 0}.visit-note a{text-decoration:underline;font-size:13px}.work-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.work-list li{margin:0;border:1px solid var(--line);border-radius:9px;padding:17px}.work-list strong{font-size:14px;font-weight:500;display:block}.work-list span{font-size:12px;color:var(--muted);display:block;margin-top:7px}.visit-price{background:var(--ink);color:white;padding:28px;border-radius:12px;margin:30px 0}.visit-price>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.visit-price span{font-size:10px;letter-spacing:1.4px}.visit-price strong{font:400 36px Georgia,serif;white-space:nowrap}.visit-price p{font-size:13px;color:#d8e3cc;margin-top:14px}.price-nav{display:flex;flex-wrap:wrap;gap:10px!important;justify-content:flex-start;margin:30px 0}.price-nav a{padding:9px 12px;border:1px solid var(--line);border-radius:7px;font-size:12px}.price-group{padding-top:12px;padding-bottom:24px;border-bottom:1px solid var(--line);scroll-margin-top:25px}.price-group>p{font-size:14px;color:var(--muted);margin:14px 0}.content-page .price-table{table-layout:fixed}.price-table th:first-child{width:57%}.price-table th:nth-child(2){width:20%}.price-table th:nth-child(3){width:23%}.price-table tbody th{background:transparent!important;font-weight:500}.price-table small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:7px}.price-value{white-space:nowrap;font-weight:500}.price-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.price-terms{font-size:14px}.price-page .notice{margin-top:30px}@media(max-width:1000px){header{flex-wrap:wrap;height:auto;min-height:104px;padding-top:18px!important;padding-bottom:12px!important;gap:12px}header nav{order:3;width:100%;max-width:100%;overflow-x:auto;white-space:nowrap;gap:20px;padding:8px 0}header nav a{flex-shrink:0}}@media(max-width:700px){.home-price-note{display:block;padding:20px}.home-price-note a{margin-top:16px;white-space:normal}.work-list{grid-template-columns:1fr}.visit-price{padding:22px}.visit-price>div{display:block}.visit-price strong{display:block;margin-top:12px}.price-nav{flex-wrap:wrap;white-space:normal}.price-table th:first-child{width:50%}.price-table th:nth-child(2){width:20%}.price-table th:nth-child(3){width:30%}.content-page .price-table{font-size:12px}.price-table small{font-size:11px}.price-value{white-space:normal}.price-actions{align-items:flex-start;flex-direction:column}}

.message-price-link{display:block;margin-top:10px;text-decoration:underline;font-weight:500}.message-price-link:focus-visible{outline-offset:2px}

/* Specific service guides and customer information. */
.guide-eyebrow{margin-top:28px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.guide-card{display:block;border:1px solid var(--line);border-radius:12px;background:#fffdfa;padding:24px;min-width:0;transition:border-color .15s}.guide-card:hover{border-color:#728664;text-decoration:none}.guide-card:hover h3{text-decoration:underline}.guide-card>span{display:block;font-size:10px;letter-spacing:.7px;color:#647357}.guide-card h3{font:400 23px/1.25 Georgia,serif;letter-spacing:-.3px;margin:13px 0}.guide-card p{font-size:13px;line-height:1.8;color:var(--muted)}.guide-list{padding-left:22px;font-size:14px;color:#57644f}.guide-list li{padding-left:5px;margin:13px 0}.guide-page>p,.catalog-group>p{font-size:14px;line-height:1.85}.guide-page>p.lead{font-size:16px}.guide-page>p a,.catalog-group>p a{ text-decoration:underline;text-underline-offset:3px}.catalog-group{padding-top:10px;padding-bottom:24px;border-bottom:1px solid var(--line)}.info-card{padding:24px;border:1px solid var(--line);border-radius:12px;background:#fffdfa;min-width:0}.info-card h3{font:400 24px/1.3 Georgia,serif}.info-card a{font-size:13px;text-decoration:underline}.workflow-list{list-style:none;counter-reset:steps;padding:0;margin-top:30px}.workflow-list li{padding:4px 0 22px;border-bottom:1px solid var(--line)}.workflow-list h2{font-size:27px;margin:24px 0 12px}.workflow-list p{font-size:14px;color:var(--muted);line-height:1.85}.catalog-shortcut{font-size:14px;margin-top:24px;text-decoration:underline}.customer-info{padding-top:20px;padding-bottom:50px}.customer-info .guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-info .guide-card h3{font-size:22px}.content-footer{flex-wrap:wrap;font-size:13px}.content-footer nav{flex-wrap:wrap;font-size:12px;gap:18px;max-width:100%}.content-footer nav a{display:inline-flex;align-items:center;min-height:40px}.guide-section{margin-top:32px}@media(max-width:700px){.guide-grid,.customer-info .guide-grid{grid-template-columns:1fr}.guide-card,.info-card{padding:21px}.customer-info .section-head{gap:20px;align-items:flex-start}.customer-info .section-head h2{font-size:31px}.content-footer{padding-bottom:80px!important}.content-footer nav{gap:10px 20px;white-space:normal}.workflow-list h2{font-size:25px}.guide-page>p.lead{font-size:15px}}

/* Phone layouts: native menu, readable pricing and keyboard-aware chat. */
.mobile-menu{display:none}img{max-width:100%}main{min-width:0}.primary{max-width:100%;overflow-wrap:anywhere}.brand small{letter-spacing:1.7px}.chat-fab{bottom:calc(16px + env(safe-area-inset-bottom,0px));right:calc(16px + env(safe-area-inset-right,0px))}
@media(max-width:700px){
  .wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  header{position:relative;align-items:center;gap:10px;min-height:80px;padding-top:14px!important;padding-bottom:14px!important}
  header .desktop-nav{display:none}
  .brand{min-width:0;flex-shrink:1;gap:9px;font-size:17px}.brand small{font-size:8px;letter-spacing:1.3px}
  .mobile-menu{display:block;flex-shrink:0;position:relative;margin-left:auto;padding:0;border:0;z-index:5}
  .mobile-menu>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fffdfa;font-size:14px}
  .mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu>summary span{font-size:18px}.mobile-menu[open]>summary{background:#edf0e4}
  header .mobile-menu nav{position:absolute;right:0;top:calc(100% + 8px);width:min(350px,calc(100vw - 32px));max-width:none;max-height:calc(100svh - 140px);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:2px;white-space:normal;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #183c3426}
  header .mobile-menu nav a{display:flex;padding:11px 12px;min-height:46px;font-size:15px;line-height:1.5;border-radius:6px;flex-shrink:0}.mobile-menu nav a:hover{background:#edf0e4}
  header>.small-btn{order:3;width:100%;font-size:14px;min-height:44px}
  .hero{padding-top:24px;gap:24px}.hero h1{font-size:clamp(36px,10vw,46px);letter-spacing:-1.2px}.hero p.lead,.content-page p.lead{font-size:16px!important;line-height:1.75}.hero-art{aspect-ratio:6/5;max-height:none}.hero-tags{gap:9px 14px;font-size:13px}.hero-tags span{min-width:0;flex-basis:calc(50% - 7px);overflow-wrap:anywhere}
  .hero .primary,.last-cta .primary{width:100%;justify-content:center;gap:16px;min-height:50px;font-size:16px}.micro{font-size:13px}.eyebrow{font-size:10px;letter-spacing:1.2px;overflow-wrap:anywhere}
  .section-head{display:block!important}.section-head>.small-btn{margin-top:18px;display:inline-flex;align-items:center}.section-head p{font-size:15px}.service{padding:22px}.service h3{font-size:20px}.service p{font-size:15px;line-height:1.75}.service ul{font-size:14px;line-height:1.6}.service button{font-size:15px;min-height:48px;align-items:center}.section-foot{font-size:12px}
  .process p,.process li p,.work-copy p,.master-bio>p{font-size:15px;line-height:1.75}.process li{gap:16px}.process li>div{min-width:0}.process h3,.work-copy h3{font-size:18px}.master-photo{width:min(100%,220px);margin-inline:auto}.master-bio h3{font-size:32px}.work-copy{min-height:0;padding:22px}
  .content-page{padding-top:24px;padding-bottom:40px}.content-page h1{font-size:clamp(32px,9vw,40px);letter-spacing:-1px}.content-page>p,.guide-page>p,.catalog-group>p,.workflow-list p{font-size:16px;line-height:1.75}.breadcrumb{font-size:13px;overflow-wrap:anywhere}.guide-list{font-size:15px}.guide-card p{font-size:15px}.work-list strong{font-size:16px}.work-list span{font-size:14px}.content-page .primary{font-size:15px;min-height:48px;gap:14px}.content-page table{font-size:14px}.content-page .notice,.notice{font-size:14px;line-height:1.75}.visit-note p,.home-price-note p,.visit-price p{font-size:15px}.price-nav a{font-size:14px;min-height:44px}.price-terms{font-size:15px}
  summary{font-size:16px;line-height:1.55;min-height:44px;display:list-item}details p{font-size:15px;line-height:1.75}.small-btn{font-size:14px;min-height:44px}footer{align-items:flex-start;gap:18px}footer p{font-size:12px;margin-left:0;width:100%}footer>a:last-child{font-size:13px;min-height:44px}.content-footer nav{font-size:14px}
  dialog{position:fixed;inset:auto;top:calc(var(--chat-viewport-top,0px) + 8px);left:50%;transform:translateX(-50%);margin:0;width:min(470px,calc(100% - 16px));max-height:calc(var(--chat-viewport-height,100vh) - 16px);max-height:calc(var(--chat-viewport-height,100dvh) - 16px);border-radius:14px;overscroll-behavior:contain}
  dialog[open]{height:calc(var(--chat-viewport-height,100vh) - 16px);height:calc(var(--chat-viewport-height,100dvh) - 16px)}
  .chat-header{padding:12px;gap:9px}.chat-header>div:nth-child(2){min-width:0}.chat-header strong{font-size:14px}.chat-header small{font-size:11px}.avatar{flex-shrink:0;width:32px;height:32px;font-size:20px}#close-chat{min-width:44px;min-height:44px;flex-shrink:0}.chat-notice{font-size:12px;padding:9px 14px}
  #messages{padding:14px;min-height:36px;max-height:none;overscroll-behavior:contain}.message{font-size:15px;max-width:96%;padding:11px 13px}.message .summary-card{font-size:14px}
  #choices{padding:8px 14px;max-height:25vh;overflow-y:auto;gap:8px}#choices button{font-size:14px;min-height:44px;white-space:normal;text-align:left}
  #chat-form{padding:10px 12px;gap:8px}#chat-input,.content-page input{font-size:16px;min-height:44px}#chat-form button{min-width:44px;min-height:44px;flex-shrink:0}
  .consent-block{padding:10px 14px;max-height:30vh;overflow-y:auto}.consent-label{font-size:14px;min-height:44px}.consent-label input{width:22px;height:22px;margin-top:1px}.consent-block p{font-size:12px}.chat-bottom{padding:0 14px max(8px,env(safe-area-inset-bottom,0px));font-size:12px;gap:12px;align-items:center}.chat-bottom button{font-size:12px;min-height:44px}.chat-fab{min-height:48px;font-size:15px}
}
@media(max-width:600px){
  .content-page .price-table{display:block;position:relative;font-size:15px;margin:22px 0;border-collapse:separate}
  .price-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%)}
  .price-table tbody{display:grid;gap:14px}.price-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 10px;padding:18px;border:1px solid var(--line);border-radius:10px;background:#fffdfa}
  .content-page .price-table tbody th{grid-column:1/-1;width:auto;padding:0;border:0;font-size:17px;line-height:1.5}.price-table small{font-size:14px;line-height:1.65;margin-top:8px}
  .content-page .price-table tbody td{display:block;width:auto;padding:0;border:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere}.price-table td::before{content:attr(data-label);display:block;color:var(--muted);font-size:11px;font-weight:400;margin-bottom:5px}.content-page .price-table td.price-value{font-size:18px;white-space:normal}
}

/* Additional service photographs keep a reserved responsive frame. */
.service-visual{margin:28px 0 34px}.service-visual>div{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:12px;background:#eeeae1}.service-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.service-visual figcaption{font-size:12px;color:var(--muted);margin-top:8px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.portfolio-grid{grid-template-columns:1fr}.service-visual{margin:24px 0}.service-visual>div{aspect-ratio:4/3}.service-visual figcaption{font-size:13px}}

/* Confirmed contact number; native tel links work on phones. */
.header-phone,.footer-phone{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font-size:15px;font-weight:500}.header-phone{flex-shrink:0;letter-spacing:-.2px}.inline-phone{text-decoration:underline;white-space:nowrap}.contact-caption{font-size:13px;color:var(--muted);margin-top:20px}.cta-phone{display:inline-flex;align-items:center;min-height:48px;font-size:24px;white-space:nowrap;margin-top:3px;font-weight:500}.chat-fab{max-width:calc(100vw - 32px)}@media(max-width:1000px){header .header-phone{margin-left:auto}.desktop-nav{order:4}}@media(max-width:700px){header .header-phone{order:3;flex-basis:100%;margin:0;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#eef2e1;font-size:17px}header>.small-btn{order:4}.mobile-menu{order:2}.cta-phone{font-size:clamp(21px,6vw,26px)}.contact-caption{font-size:15px}.footer-phone{font-size:16px;min-height:44px}}

.chat-tools{padding:0 20px 10px;flex-shrink:0}.chat-tools button{width:100%;min-height:44px;border:1px solid #c6d0b4;border-radius:8px;background:#eef2e1;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.chat-tools button:disabled{opacity:.6;cursor:wait}@media(max-width:700px){.chat-tools{padding:0 14px 8px}.chat-tools button{font-size:14px}}


.typing-indicator{display:flex;align-items:center;gap:10px;padding:8px 20px;color:var(--muted);font-size:13px;flex-shrink:0;min-height:38px}.typing-dots{display:inline-flex;gap:4px;align-items:center}.typing-dots i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:typing-pulse 1.2s ease-in-out infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typing-pulse{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media(max-width:700px){.typing-indicator{padding:8px 14px;font-size:13px}}@media(prefers-reduced-motion:reduce){.typing-dots i{animation:none;opacity:.65}}

#chat-form #attach-photo{flex:0 0 44px;min-width:44px;min-height:44px;padding:0;display:grid;place-items:center;background:#eef2e1;color:var(--ink);border:1px solid var(--line)}#chat-input{min-width:0}#attach-photo:disabled,#remove-photo:disabled{opacity:.5;cursor:wait}.photo-preview{display:flex;align-items:center;gap:10px;padding:8px 20px;border-top:1px solid var(--line);flex-shrink:0;font-size:12px;color:var(--muted)}.photo-preview img{width:64px;height:64px;object-fit:cover;border-radius:8px;flex-shrink:0}.photo-preview span{min-width:0;flex:1;overflow-wrap:anywhere}.photo-preview button{min-width:44px;min-height:44px;border:0;border-radius:8px;background:#eef2e1;color:var(--ink);font-size:22px}@media(max-width:700px){.photo-preview{padding:8px 14px}.photo-preview img{width:52px;height:52px}}

.price-count{display:inline-block;font:14px/1.4 Arial,sans-serif;letter-spacing:0;color:var(--muted);vertical-align:middle;margin-left:8px}.price-subgroup{border:1px solid var(--line);border-radius:10px;margin:12px 0;background:#fffdfa;overflow:hidden}.price-subgroup summary{display:list-item;padding:15px 18px;cursor:pointer;font-weight:600;font-size:15px}.price-subgroup summary span{font-size:12px;font-weight:400;color:var(--muted);margin-left:8px}.price-subgroup .price-table{margin:0}.price-subgroup .price-table tr:last-child>*{border-bottom:0}.price-search{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:12px;background:#eef2e1}.price-search label{margin:0 0 8px;font-weight:600}.price-search>div{display:flex;gap:10px}.price-search #price-query{width:auto;min-width:0;flex:1;background:white}.price-search button{min-height:44px;flex-shrink:0}.price-search p{margin-top:10px;font-size:13px;color:var(--muted)}@media(max-width:700px){.price-search{padding:14px}.price-search>div{flex-wrap:wrap}.price-search #price-query{flex-basis:100%}.price-subgroup summary{padding:14px;font-size:15px}.price-count{display:block;margin:8px 0 0}}
.advice-page section,.advice-hub section{scroll-margin-top:26px}.advice-page section>p{font-size:14px;line-height:1.85;color:var(--muted);margin:16px 0}.advice-page .advice-caption{font-size:12px;color:var(--muted)}.advice-stop{border-left:3px solid #a47336;padding:1px 22px;background:#f4efe3;border-radius:0 10px 10px 0;margin:32px 0}.advice-stop h2{margin-top:24px}.advice-stop p{padding-bottom:20px}.advice-warning{border:1px solid #cbb692}.advice-warning p{margin:8px 0 0;line-height:1.8}.advice-help{border:1px solid var(--line);background:#edf0e4;border-radius:12px;padding:24px;margin:35px 0}.advice-help h2{margin:0 0 18px}.advice-help>strong{display:block;font:400 25px/1.4 Georgia,serif;margin:18px 0}.advice-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:20px}.advice-actions>a{font-size:14px;text-decoration:underline;text-underline-offset:3px}.advice-actions .cta-phone{margin:0;font-size:20px}.advice-sources a{text-decoration:underline;text-underline-offset:3px}.advice-sources ul{padding-left:22px;font-size:13px;overflow-wrap:anywhere}.advice-back a{text-decoration:underline}.tips-intro{font-size:14px;color:var(--muted);max-width:650px}.tips-home.customer-info .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advice-group{scroll-margin-top:26px}@media(max-width:700px){.tips-home.customer-info .guide-grid{grid-template-columns:1fr}.advice-page h1{font-size:clamp(30px,8vw,40px);letter-spacing:-1px;overflow-wrap:anywhere}.advice-toc{gap:8px!important}.advice-toc a{min-height:44px;display:flex;align-items:center}.advice-help{padding:20px}.advice-stop{padding-left:17px;padding-right:17px}.advice-actions{align-items:flex-start;flex-direction:column}.advice-actions .primary{width:100%;min-height:48px}.advice-actions .cta-phone{font-size:20px}.advice-help>strong{font-size:23px}.advice-hub .guide-card h3{font-size:23px}}
.advice-visual{margin:28px 0}.advice-visual>div{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#ecefdf}.advice-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.advice-visual figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:10px}.advice-card{overflow:hidden}.advice-thumb{position:relative;aspect-ratio:3/2;margin:-24px -24px 20px;overflow:hidden;background:#ecefdf}.advice-thumb img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.advice-card:hover .advice-thumb img{filter:brightness(1.03)}@media(max-width:700px){.advice-thumb{margin:-21px -21px 18px}.advice-visual>div{aspect-ratio:3/2}.advice-visual{margin:24px 0}.advice-visual figcaption{font-size:11px}}

/* Short interaction effects; scroll entrances are enabled progressively in motion.js. */
@media(prefers-reduced-motion:no-preference){
  .primary,.small-btn,.chat-fab,#choices button,.chat-tools button,#chat-form button{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,translate .18s ease}
  .service,.guide-card,.work-card,.info-card{transition:border-color .22s ease,box-shadow .22s ease,translate .22s ease}
  .advice-thumb img,.work-photo img{transition:transform .35s ease,filter .25s ease}
  .primary:not(:disabled):active,.small-btn:not(:disabled):active,.chat-fab:active{translate:0 1px}
  dialog[open]{animation:panel-arrive .22s ease-out}
  .mobile-menu[open] nav{animation:panel-arrive .18s ease-out}
  .message{animation:message-arrive .2s ease-out}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .service:hover,.guide-card:hover,.work-card:hover,.info-card:hover{translate:0 -3px;border-color:#b2c09d;box-shadow:0 10px 24px #183c3410}
  .primary:not(:disabled):hover,.small-btn:not(:disabled):hover,.chat-fab:hover{translate:0 -2px;box-shadow:0 6px 16px #183c341c}
  .guide-card:hover .advice-thumb img,.work-card:hover .work-photo img{transform:scale(1.025)}
}
@keyframes panel-arrive{from{opacity:.3;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes message-arrive{from{opacity:.3;translate:0 5px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* A restrained living-photo effect stays inside the existing hero frame. */
.hero-motion-toggle{position:absolute;z-index:1;top:16px;right:16px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff69;border-radius:50%;background:#183c34d9;color:white;box-shadow:0 3px 12px #183c3420}
.hero-motion-toggle:hover{background:var(--ink)}
.hero-art .art-label{max-width:calc(100% - 88px);line-height:1.6}
.hero-motion-play{display:none}
.hero-art[data-photo-motion="paused"] .hero-motion-pause{display:none}
.hero-art[data-photo-motion="paused"] .hero-motion-play{display:block}
@media(prefers-reduced-motion:no-preference){
  .hero-motion-ready .hero-photo{transform-origin:50% 55%;animation:hero-photo-drift 10s ease-in-out infinite alternate;animation-play-state:paused}
  .hero-motion-ready[data-photo-motion="playing"] .hero-photo{animation-play-state:running}
}
@keyframes hero-photo-drift{from{transform:scale(1.025) translate(0,0)}to{transform:scale(1.085) translate(-.4%,-.3%)}}
@media(prefers-reduced-motion:reduce){.hero-motion-toggle{display:none}}

/* Four illustrated profiles: two columns on desktop, one on phones. */
.masters-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:18px}
.masters-grid .master-profile{grid-template-columns:150px minmax(0,1fr);gap:22px;padding:22px;margin:0;align-items:center}
.masters-grid .master-photo{width:100%;margin:0;align-self:center}
.masters-grid .master-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%}
.masters-grid .master-bio h3{margin:12px 0;font-size:29px}
.master-specialty{line-height:1.6;letter-spacing:1px}
.master-service-link{display:block;width:fit-content;margin-top:13px;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.master-profiles-note{margin-bottom:30px}
@media(max-width:1000px){.masters-grid .master-profile{grid-template-columns:120px minmax(0,1fr);gap:18px;padding:20px}}
@media(max-width:800px){.masters-grid{grid-template-columns:1fr}.masters-grid .master-profile{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:700px){.master-service-link{font-size:14px;min-height:44px;display:flex;align-items:center}}
@media(max-width:480px){.masters-grid .master-profile{grid-template-columns:1fr;gap:20px;padding:22px}.masters-grid .master-photo{width:160px;margin-inline:auto}.masters-grid .master-bio h3{font-size:31px}.hero-motion-toggle{top:12px;right:12px}}

/* Explicit confirmation actions on the request review step. */
#choices button.choice-submit{background:#257a3e;border-color:#257a3e;color:#fff;font-weight:600}
#choices button.choice-edit{background:#ba3f36;border-color:#ba3f36;color:#fff;font-weight:600}
#choices button.choice-submit:not(:disabled):hover{background:#1b6030;border-color:#1b6030}
#choices button.choice-edit:not(:disabled):hover{background:#98312b;border-color:#98312b}
#choices button.choice-submit:focus-visible,#choices button.choice-edit:focus-visible{outline-color:var(--ink)}
