@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/dm-sans-400.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/dm-sans-500.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/dm-sans-600.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/manrope-400.woff2') format('woff2')}
:root{--ink:#171817;--paper:#f3f2ee;--muted:#9d9e97;--line:#d4d5ce;--accent:#c3bda4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #9b7954;outline-offset:6px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,blockquote{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}em{font-weight:400;color:#a7a993}header{height:94px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #ffffff20;position:relative;z-index:2}.brand{font-family:Georgia,serif;font-size:44px;line-height:.8;letter-spacing:-3px}.brand span{display:block;font-family:'Manrope',sans-serif;letter-spacing:3px;font-size:10px;margin-top:14px}nav{display:flex;gap:36px;font-size:14px}nav a{color:#d3d4cf}nav a:hover{color:white}.nav-contact{font-size:14px;border-bottom:1px solid #74776d;padding:7px 0;display:flex;gap:22px;align-items:center}.small-dot{height:6px;width:6px;border-radius:50%;background:var(--accent)}.hero{position:relative;min-height:730px;background:var(--ink);color:var(--paper);overflow:hidden}.hero-photo{position:absolute;right:0;top:0;width:55%;height:100%}.hero-photo img{height:100%;object-fit:cover;object-position:50% 33%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--ink),transparent 47%),linear-gradient(0deg,#171817bd,transparent 30%)}.hero-copy{position:relative;z-index:1;padding:88px 6% 120px;max-width:850px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:500;line-height:1.7;margin-bottom:28px;display:flex;gap:12px;align-items:center}.eyebrow>span{width:22px;height:1px;background:#9c9e8d}h1{font-size:clamp(52px,5.8vw,88px);line-height:1.03;margin-bottom:30px}h1 em{color:#d6d7c7}.intro{font-size:16px;color:#bebfba;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:56px;padding:16px 25px;font-size:14px;font-weight:500;border:0;cursor:pointer;transition:background .2s}.button.light{background:#efeee7;color:var(--ink)}.button:hover{background:#cccdbd}.hero .button{margin-top:30px}.hero-note{font-size:12px;letter-spacing:.3px;color:#9e9f98;margin-top:16px}.hero-bottom{position:absolute;left:6%;right:6%;bottom:29px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.7px;color:#babcb3}.hero-bottom a{font-size:12px;letter-spacing:0;display:flex;align-items:center;gap:20px}.hero-bottom a span{font-size:22px}.values{display:flex;justify-content:space-around;align-items:center;padding:25px 6%;border-bottom:1px solid var(--line);font-size:13px}.values i{color:#a2a58e;font-style:normal}.section{padding:110px 8%}.about{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.about-image{position:relative}.about-image img{aspect-ratio:4/5;object-fit:cover}.image-caption{font-size:10px;letter-spacing:2px;display:block;margin-top:14px}.about h2,h2{font-size:clamp(42px,4.3vw,64px);line-height:1.08}.about h2{margin-bottom:30px}.about-copy>p:not(.eyebrow){color:#62665f;margin-bottom:18px;max-width:460px;font-size:15px;line-height:1.85}.signature{font-family:Georgia,serif;font-style:italic;font-size:46px;margin-top:23px}.about-note{font-size:12px;color:#72776c}.experiences{background:#e7e8e0;padding-top:90px;padding-bottom:65px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px}.section-heading>p{font-size:15px;color:#676c60}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bfc2b6}.experience-grid article{padding:30px 35px 15px 0}.experience-grid article+article{padding-left:35px;border-left:1px solid #bfc2b6}.number{font-size:12px;letter-spacing:1px;color:#747a68}h3{font-family:Georgia,serif;font-size:26px;font-weight:400;letter-spacing:-.7px;margin:28px 0 15px}.experience-grid p{color:#606759;font-size:15px;line-height:1.8;min-height:110px}.experience-grid a{display:inline-block;font-size:13px;border-bottom:1px solid #929a81;padding-bottom:4px;margin-top:20px}.scope{text-align:center;font-size:12px;color:#72786b;margin-top:45px}.editorial{display:grid;grid-template-columns:1fr 1fr;background:#22251f;color:var(--paper)}.editorial>img{height:670px;object-fit:cover;object-position:50% 35%}.editorial>div{padding:75px 12%;display:flex;flex-direction:column;justify-content:center}.editorial .eyebrow{font-size:10px;color:#acb09f;letter-spacing:1.7px}blockquote{font-size:clamp(40px,4.7vw,70px);line-height:1.08;margin:0 0 45px}.editorial>div>span{font-size:10px;letter-spacing:1.6px;color:#acb09f}.steps{display:grid;grid-template-columns:1fr 1fr;gap:10%}.steps ol{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:30px;border-bottom:1px solid var(--line);padding:25px 0}.steps li:first-child{padding-top:0}.steps li>span{font-size:12px;color:#919680;margin-top:7px}.steps h3{margin:0 0 9px;font-size:24px}.steps p{font-size:15px;color:#696e63}.faq{background:#e9eae4;display:grid;grid-template-columns:1fr 1.3fr;gap:9%;padding-top:90px;padding-bottom:90px}.faq h2{margin-bottom:24px}.faq>div>p:not(.eyebrow){font-size:15px;color:#6c7263}.questions{border-top:1px solid #c6c9bc}details{border-bottom:1px solid #c6c9bc}summary{list-style:none;cursor:pointer;font-size:15px;font-weight:500;padding:23px 34px 23px 0;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:2px;top:19px;font-size:23px;font-weight:400;color:#7b826b}details[open] summary:after{content:'−'}details p{font-size:14px;color:#606854;padding:0 30px 24px 0;line-height:1.8}.contact{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:90px;padding-bottom:90px}.contact h2{font-size:clamp(40px,4.1vw,62px);margin-bottom:24px}.contact>div>p:not(.eyebrow){color:#adb0a5;font-size:15px}.contact .eyebrow{color:#a4aa95}.phone{display:block;font-size:23px;margin-top:36px}.by-appointment{font-size:10px;letter-spacing:1px;color:#989f8d;display:block;margin-top:16px}form label{display:block;font-size:13px;margin-bottom:9px}form label span{color:#959b8e;font-size:12px}input,select,textarea{background:#ffffff05;border:1px solid #4a4f42;color:#eeeee8;width:100%;padding:13px 14px;border-radius:0;outline:none;min-height:50px;color-scheme:dark}input:focus,select:focus,textarea:focus{border-color:#c3c7b7}select option{background:#22251f}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}textarea{resize:vertical;min-height:100px}form .button{width:100%;margin-top:20px}.form-note{font-size:12px;color:#a2a99a;line-height:1.7;margin-top:14px}footer{background:var(--ink);border-top:1px solid #3f4436;color:#a6ad9b;display:flex;justify-content:space-between;align-items:center;padding:40px 6%}footer .brand{color:#eeeee8}footer p{font-size:12px}footer>div{display:flex;gap:24px;font-size:12px}footer button{color:inherit;font-size:12px;background:none;border:0;cursor:pointer;padding:0}dialog{max-width:600px;width:90%;padding:45px;border:1px solid #a4aa99;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#000a}dialog h2{font-size:38px;margin-bottom:25px}dialog p{font-size:14px;margin-top:14px}dialog>button{position:absolute;right:16px;top:10px;background:none;border:0;font-size:26px;cursor:pointer}.skip{position:fixed;left:10px;top:-80px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}@media(min-width:1600px){main,header,footer{max-width:1800px;margin:auto}}@media(max-width:900px){header{height:85px;padding:0 5%}nav{gap:20px}.hero{min-height:690px}.hero-copy{padding:90px 5% 100px}.hero-photo{width:65%}.hero-photo:after{background:linear-gradient(90deg,var(--ink),#17181760 70%),linear-gradient(0deg,#171817a0,transparent)}h1{font-size:64px}.section{padding:75px 6%}.about{gap:7%}.experience-grid article{padding-right:20px}.experience-grid article+article{padding-left:20px}.experience-grid p{min-height:160px}.editorial>img{height:550px}.editorial>div{padding:50px 10%}.steps,.faq{gap:6%}.contact{gap:6%}.form-row{grid-template-columns:1fr;gap:15px}}@media(max-width:600px){header{height:80px}.brand{font-size:36px}.brand span{font-size:9px;margin-top:11px}nav{display:none}.nav-contact{font-size:13px}.hero{min-height:780px}.hero-photo{width:100%;height:100%}.hero-photo img{object-position:60% 20%;opacity:.68}.hero-photo:after{background:linear-gradient(0deg,#171817 1%,#171817b8 43%,transparent 100%),linear-gradient(90deg,#17181766,transparent)}.hero-copy{padding:315px 6% 85px}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:22px}h1{font-size:clamp(44px,11.5vw,64px)}.intro{font-size:14px}.hero-note{font-size:11px}.hero-bottom{bottom:22px;font-size:8px;letter-spacing:1px}.hero-bottom a{display:none}.hero .button{margin-top:23px;font-size:13px}.values{flex-wrap:wrap;gap:10px 24px;padding:20px 6%;font-size:11px}.values i{display:none}.section{padding:62px 7%}.about{grid-template-columns:1fr;gap:40px}.about-image{width:86%}.about-image img{aspect-ratio:1/1.12}.about h2,h2{font-size:46px}.eyebrow{font-size:10px;margin-bottom:22px}.about-copy>p:not(.eyebrow){font-size:15px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:24px}.experience-grid{grid-template-columns:1fr}.experience-grid article,.experience-grid article+article{padding:27px 0 28px;border-left:0;border-bottom:1px solid #bfc2b6}.experience-grid h3{margin-top:14px}.experience-grid p{min-height:0}.scope{text-align:left;margin-top:28px}.editorial{grid-template-columns:1fr}.editorial>img{height:440px;object-position:center 32%}.editorial>div{padding:48px 7%}blockquote{font-size:56px}.steps,.faq,.contact{grid-template-columns:1fr;gap:38px}.steps li{gap:22px}.contact h2{font-size:45px}.form-row{grid-template-columns:1fr 1fr;gap:12px}form label{font-size:12px}input{min-width:0}footer{padding:30px 7%;gap:30px;flex-wrap:wrap}footer p{max-width:60%;font-size:11px}footer>div{width:100%;justify-content:space-between}dialog{padding:35px 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.gallery{background:#f3f2ee;padding-bottom:65px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.photo-card{display:block;width:100%;padding:0;position:relative;border:0;background:#22251f;cursor:zoom-in;overflow:hidden;text-align:left}.photo-card img{aspect-ratio:4/5;object-fit:cover;transition:transform .45s ease}.photo-card:hover img{transform:scale(1.035)}.photo-index{position:absolute;bottom:16px;left:18px;font-size:11px;letter-spacing:1.5px;background:#171817b0;padding:5px 9px;color:#fff}.photo-expand{position:absolute;right:16px;bottom:17px;color:white;background:#171817b0;width:30px;height:30px;display:grid;place-items:center;font-size:20px}.steps{border-top:1px solid var(--line)}#photo-viewer{max-width:1100px;width:94vw;max-height:96dvh;padding:45px 20px 14px;background:#171817;color:#f3f2ee;border:1px solid #505549;overflow:auto}#photo-viewer::backdrop{background:#000e}#photo-viewer #photo-close{position:absolute;right:16px;top:4px;color:white;font-size:30px;border:0;background:none;cursor:pointer}.viewer-frame{display:flex;justify-content:center;align-items:center;height:min(75dvh,900px)}#photo-large{width:100%;height:100%;object-fit:contain}.viewer-controls{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:14px;font-size:13px}.viewer-controls button{position:static;color:#eee;font-size:13px;border:1px solid #626755;background:transparent;padding:8px 14px;cursor:pointer}.viewer-controls button:hover{background:#35392f}body:has(#photo-viewer[open]){overflow:hidden}@media(max-width:600px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery .section-heading>p{font-size:14px}.photo-index{left:8px;bottom:9px;font-size:9px;padding:3px 6px}.photo-expand{right:8px;bottom:9px;width:25px;height:25px}.gallery{padding-left:5%;padding-right:5%}.gallery h2{font-size:41px}#photo-viewer{padding:42px 8px 14px;width:98vw}.viewer-frame{height:72dvh}.viewer-controls{gap:20px}}
.reviews{background:#22251f;color:var(--paper);display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:center}.reviews .eyebrow{color:#adb39f}.reviews h2{font-size:clamp(38px,3.7vw,57px)}.review-card{margin:0;padding:35px 0;border-top:1px solid #555d48;border-bottom:1px solid #555d48}.review-type{font-size:11px;letter-spacing:1.8px;color:#adb39f}.review-card blockquote{font-size:28px;line-height:1.55;letter-spacing:-.6px;margin:24px 0 28px}.review-card figcaption{display:flex;align-items:center;gap:15px;font-size:14px}.review-initial{border:1px solid #798369;border-radius:50%;width:44px;height:44px;display:grid;place-items:center}.review-card figcaption strong{display:block;font-weight:500}.review-card figcaption span span{display:block;color:#aeb49f;font-size:12px}@media(max-width:1000px){header nav{gap:17px}}@media(max-width:760px){header nav{display:none}.reviews{grid-template-columns:1fr;gap:32px}.review-card blockquote{font-size:25px}}
.hero-title{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;font-size:clamp(52px,5.8vw,88px);line-height:1.03;margin:0 0 30px}.hero-title em{color:#d6d7c7}.hero-heading{font-family:'DM Sans',sans-serif;font-size:11px;line-height:1.7;letter-spacing:2px;font-weight:500;text-transform:uppercase}.local-companionship{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.local-companionship h2{font-size:clamp(38px,3.8vw,58px)}.local-companionship p:not(.eyebrow){font-size:15px;color:#62665f;line-height:1.85;margin-bottom:18px}.local-contact{display:inline-block;font-size:14px;border-bottom:1px solid #909680;padding-bottom:5px;margin-top:8px}@media(max-width:900px){.hero-title{font-size:64px}}@media(max-width:600px){.hero-title{font-size:clamp(44px,11.5vw,64px)}.local-companionship{grid-template-columns:1fr;gap:28px}.hero-heading{font-size:9px;letter-spacing:1.4px}}

.service-intro{background:var(--ink);color:var(--paper);padding-top:40px;padding-bottom:72px}.service-intro h1{max-width:900px;font-size:clamp(42px,5.6vw,76px);line-height:1.12;overflow-wrap:break-word}.breadcrumbs{display:flex!important;flex-wrap:wrap;gap:14px;font-size:14px;margin-bottom:50px;color:#c5c8bc}.breadcrumbs a{text-decoration:underline}.service-lead{max-width:740px;font-size:18px;line-height:1.8;color:#c5c8bc;margin:28px 0}.service-body{max-width:900px;margin:auto;padding:64px 7%}.service-body section{margin-bottom:54px}.service-body h2{font-size:clamp(30px,3.2vw,42px);line-height:1.2;margin-bottom:24px;letter-spacing:-.025em}.service-body p{font-size:16px;line-height:1.85;margin:0 0 18px;color:#51564b}.service-body summary{font-size:16px}.service-body details p{padding-bottom:18px}.service-related{border-top:1px solid var(--line);padding-top:42px}.service-related p a{text-decoration:underline;text-underline-offset:4px}.service-related .button{background:var(--ink);color:var(--paper);margin-top:10px}.service-page footer>a:last-child{font-size:14px;text-decoration:underline}@media(max-width:600px){.service-intro{padding-top:26px}.breadcrumbs{margin-bottom:35px}.service-lead{font-size:16px}.service-body{padding-top:42px}.service-page footer>a:last-child{width:100%}}

.hero-copy .hero-heading{font-size:14px;line-height:1.65;letter-spacing:1.2px;max-width:580px}.local-companionship p a{text-decoration:underline;text-underline-offset:4px}.local-companionship h3{font-size:27px;line-height:1.3;margin:28px 0 16px}@media(max-width:600px){.hero-copy .hero-heading{font-size:12px;letter-spacing:.7px;max-width:350px}}

.header-actions{display:flex;align-items:center;gap:24px}.language-switch{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.06em}.language-switch a{color:#c7c8c1;padding:8px 2px}.language-switch a[aria-current="page"]{color:#fff;text-decoration:underline;text-underline-offset:5px}.header-actions .nav-contact{white-space:nowrap}@media(max-width:1100px){header>nav{gap:14px;font-size:13px}.header-actions{gap:16px}}@media(max-width:900px){header>nav{display:none}}@media(max-width:400px){.header-actions{gap:12px}.header-actions .nav-contact{font-size:13px}}

/* Responsive layout: shared by both languages and all service pages. */
@media (max-width: 900px) {
  header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    height: auto;
    gap: 10px 12px;
    padding: 18px 5% 0;
  }
  header > .brand { grid-column: 1; grid-row: 1; }
  .header-actions { grid-column: 2; grid-row: 1; justify-self: end; gap: 14px; }
  .language-switch { gap: 2px; font-size: 14px; }
  .language-switch a { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 8px; }
  .header-actions .nav-contact { min-height: 44px; font-size: 14px; gap: 10px; }
  header > nav {
    display: flex;
    grid-column: 1 / -1;
    grid-row: 2;
    min-width: 0;
    width: 100%;
    gap: 8px;
    padding: 4px 0 12px;
    flex-wrap: wrap;
    overflow: visible;
  }
  header > nav a { flex: 1 1 auto; display: flex; justify-content: center; align-items: center; min-height: 44px; padding: 9px 12px; font-size: 14px; border: 1px solid #ffffff25; }
  input, select, textarea { font-size: 16px; min-width: 0; max-width: 100%; }
  .form-row > div { min-width: 0; }
  .section > *, .service-body > * { min-width: 0; }
}
@media (max-width: 760px) {
  .about, .steps, .faq, .contact, .local-companionship, .reviews { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .about-image { width: 100%; max-width: 480px; }
  .about-copy > p:not(.eyebrow) { max-width: none; }
  .experience-grid { grid-template-columns: minmax(0, 1fr); }
  .experience-grid article, .experience-grid article + article { padding: 26px 0; border-left: 0; border-bottom: 1px solid #bfc2b6; }
  .experience-grid p { min-height: 0; }
  .experience-grid h3 { margin-top: 14px; }
  .section-heading { display: block; margin-bottom: 32px; }
  .section-heading > p { margin-top: 22px; }
  .editorial { grid-template-columns: minmax(0, 1fr); }
  .editorial > img { height: auto; max-height: 480px; aspect-ratio: 1 / 1; object-position: center 30%; }
  .editorial > div { padding: 42px 7%; }
}
@media (max-width: 600px) {
  header { padding-top: 14px; }
  .header-actions { gap: 10px; }
  .hero { min-height: 0; display: flex; flex-direction: column; }
  .hero-photo { position: relative; top: auto; right: auto; width: 100%; height: clamp(250px, 72vw, 360px); flex: none; }
  .hero-photo img { opacity: 1; object-position: 50% 28%; }
  .hero-photo:after { background: linear-gradient(180deg, transparent 60%, #171817 100%); }
  .hero-copy { max-width: none; width: 100%; margin-top: -12px; padding: 0 6% 28px; }
  .hero-copy .hero-heading { max-width: 100%; font-size: 12px; line-height: 1.65; letter-spacing: .65px; margin-bottom: 16px; }
  .hero-copy .hero-heading > span { flex: 0 0 18px; }
  .hero-title { font-size: clamp(38px, 10.2vw, 56px); line-height: 1.08; margin-bottom: 22px; }
  .intro { font-size: 16px; line-height: 1.7; }
  .hero .button { width: 100%; font-size: 16px; margin-top: 24px; }
  .hero-note { font-size: 13px; line-height: 1.65; margin-top: 14px; }
  .hero-bottom { position: static; padding: 0 6% 24px; font-size: 11px; line-height: 1.7; letter-spacing: .8px; }
  .values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); text-align: center; gap: 12px; font-size: 14px; padding: 20px 6%; }
  .section { padding: 48px 6%; }
  h2, .about h2, .contact h2, .gallery h2, .reviews h2, .local-companionship h2 { font-size: clamp(32px, 8.8vw, 44px); line-height: 1.15; }
  .eyebrow, .editorial .eyebrow { font-size: 12px; line-height: 1.65; letter-spacing: 1px; }
  .about-copy > p:not(.eyebrow), .section-heading > p, .experience-grid p, .steps p,
  .faq > div > p:not(.eyebrow), .local-companionship p:not(.eyebrow), .contact > div > p:not(.eyebrow),
  .gallery .section-heading > p { font-size: 16px; line-height: 1.75; }
  .about-note, .image-caption, .review-type { font-size: 12px; line-height: 1.7; }
  .experience-grid a, .local-contact { display: flex; align-items: center; width: fit-content; max-width: 100%; min-height: 44px; font-size: 15px; line-height: 1.5; margin-top: 12px; padding: 8px 0; }
  .experience-grid article > br { display: none; }
  .editorial blockquote { font-size: clamp(38px, 10vw, 54px); }
  .editorial > div > span { font-size: 12px; line-height: 1.7; letter-spacing: 1px; }
  .review-card { padding: 24px 0; }
  .review-card blockquote { font-size: 24px; line-height: 1.5; }
  .review-card figcaption span span { font-size: 14px; }
  summary { font-size: 16px; line-height: 1.6; min-height: 56px; padding: 20px 32px 20px 0; }
  details p { font-size: 16px; line-height: 1.75; padding-right: 8px; }
  .form-row { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  form label { font-size: 15px; }
  form label span { font-size: 14px; }
  input, select, textarea { min-height: 54px; padding: 14px 12px; }
  textarea { min-height: 120px; }
  .button { min-height: 54px; max-width: 100%; font-size: 16px; padding: 15px 20px; line-height: 1.5; text-align: center; }
  .form-note { font-size: 14px; line-height: 1.7; }
  .phone { width: fit-content; min-height: 44px; }
  .by-appointment { font-size: 12px; line-height: 1.75; }
  .photo-index { font-size: 11px; letter-spacing: .5px; }
  .photo-expand { width: 30px; height: 30px; }
  footer { padding: 32px 6%; gap: 24px; }
  footer p { font-size: 14px; line-height: 1.7; max-width: none; width: 100%; }
  footer > div { align-items: center; font-size: 14px; }
  footer button, .service-page footer > a:last-child { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
  dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: 56px 22px 26px; overflow: auto; }
  dialog h2 { font-size: 32px; }
  dialog p { font-size: 16px; line-height: 1.7; }
  dialog > button, #photo-viewer #photo-close { width: 44px; height: 44px; top: 4px; right: 4px; }
  #photo-viewer { width: calc(100% - 16px); max-height: calc(100dvh - 16px); padding: 52px 8px 14px; }
  .viewer-frame { height: min(68dvh, 640px); }
  .viewer-controls { gap: 12px; font-size: 14px; }
  .viewer-controls button { min-height: 44px; font-size: 14px; padding: 10px 14px; }
  .service-intro { padding: 28px 6% 42px; }
  .service-intro h1 { font-size: clamp(34px, 9vw, 48px); line-height: 1.16; }
  .breadcrumbs { gap: 10px; margin-bottom: 28px; line-height: 1.6; }
  .breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; }
  .breadcrumbs > span { align-self: center; }
  .service-lead { font-size: 17px; line-height: 1.75; margin: 22px 0; }
  .service-intro .button, .service-related .button { width: 100%; }
  .service-body { padding: 40px 6%; }
  .service-body section { margin-bottom: 36px; }
  .service-body h2 { font-size: clamp(28px, 7.5vw, 36px); line-height: 1.22; margin-bottom: 20px; }
  .service-body p { line-height: 1.75; }
  .service-related { padding-top: 30px; }
}
@media (max-width: 360px) {
  .header-actions { gap: 6px; }
  .header-actions .small-dot { display: none; }
  .language-switch a { min-width: 40px; padding: 8px 6px; }
  .hero-copy .hero-heading > span { display: none; }
  .intro br { display: none; }
}
