/* Readability and a tighter mobile rhythm; the existing visual identity stays intact. */
:root { --readable-ink:#505a46; --readable-dark:#c1c8b7; }
body[class] .header nav { font-size:14px; }
body[class] .header nav a { opacity:.85; }
body[class] .header .contact-button { font-size:13px; }
body[class] .header .menu-button { font-size:12px; }
body[class] .home-kicker, body[class] .clear-kicker, body[class] .service-kicker,
body[class] .visual-kicker { font-size:11px; letter-spacing:1.35px; }
/* Main reading text, with the same warm grey-green palette. */
body.signature-home .rd-hero-copy .rd-hero-lead,
body.photography-visual .ph-hero-copy>p:not(.visual-kicker):not(.ph-routes-note),
body.webdesign-visual .wd-lead { font-size:16px; line-height:1.8; color:var(--readable-dark); }
body.signature-home .home-albums-head>div:last-child>p,
body.signature-home .rd-services-heading>p,
body.signature-home .visual-service-copy>p,
body.signature-home .home-maker>div>p:not(.home-kicker),
body.photography-visual .ph-section-head>p,
body.photography-visual .ph-session>div>p:not(.visual-kicker):not(.ph-session-note),
body.webdesign-visual .wd-section-head>p,
body.webdesign-visual .wd-benefit>p,
body.webdesign-visual .wd-photo-copy>p:not(.visual-kicker),
body.webdesign-visual .wd-steps p,
body.webdesign-visual .wd-aftercare p { font-size:16px; line-height:1.8; color:var(--readable-ink); }
body.signature-home .visual-service-web .visual-service-copy>p { color:var(--readable-dark); }
body.signature-home .visual-service ul { font-size:13px; line-height:1.65; }
body.signature-home .visual-service-bottom .visual-link,
body.signature-home .rd-text-link,
body.signature-home .home-maker .text-link,
body.signature-home .home-work-head>a,
body[class] .visual-link, body[class] .wd-button { font-size:14px; }
body.signature-home .visual-price>small { font-size:12px; line-height:1.65; color:var(--readable-ink); }
body.signature-home .visual-service-web .visual-price>small { color:var(--readable-dark); }
body.signature-home .home-album-copy>p,
body.signature-home .home-album-copy>span { font-size:13px; color:var(--readable-ink); }
body.signature-home .home-album-description,
body.signature-home .home-album-card:only-child .home-album-description { font-size:15px!important; line-height:1.75; }
body.signature-home .rd-hero-actions>a { font-size:14px; }
body.signature-home .rd-hero-bottom { font-size:11px; color:#b7beac; }
body.signature-home .rd-studio-note { font-size:10px; max-width:75%; color:#b2bba4; letter-spacing:1px; }
body.signature-home .home-trust { font-size:13px; color:var(--readable-ink); }
/* The photo service is separate from the price of a single album image. */
body.signature-home .photo-service-choices {
  display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:16px 20px;
}
body.signature-home .photo-service-choices>p {
  grid-column:1/-1; font-size:14px; line-height:1.75; color:var(--readable-ink); margin:0;
}
body.signature-home .photo-service-choices .wd-button { min-width:0; gap:15px; font-size:13px; }
body.signature-home .photo-service-choices .visual-link { max-width:none; width:auto; min-width:0; gap:13px; font-size:13px; }
body.photography-visual .ph-hero-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:490px; align-items:stretch; }
body.photography-visual .ph-hero-actions .wd-button { min-width:0; gap:14px; font-size:14px; padding-inline:17px; }
body.photography-visual .photo-albums-choice { background:transparent; color:#f5f4ef; border-color:#ffffff60; }
body.photography-visual .photo-albums-choice:hover { background:#ffffff0b; border-color:#ffffffa0; }
body.photography-visual .ph-hero-copy>p.ph-routes-note { margin:15px 0 0; max-width:490px; font-size:13px; line-height:1.7; color:var(--readable-dark); }
body.photography-visual .ph-hero-signature { margin-top:19px; color:#b1bba2; }
body.photography-visual .album-card-date,
body.photography-visual .album-card-action>span,
body.photography-visual .album-card-count { font-size:13px; }
body.photography-visual .album-card-date,
body.photography-visual .album-card-description { color:var(--readable-ink); }
body.photography-visual .album-card-description,
body.photography-visual .album-card:only-child .album-card-description { font-size:15px; line-height:1.75; }
body.photography-visual .ph-preview-note p { font-size:13px; line-height:1.75; color:#56624a; }
body.photography-visual .ph-order-steps li p { font-size:15px; line-height:1.75; color:#c6cfba; }
body.photography-visual .ph-price>small,
body.photography-visual .ph-price ul,
body.photography-visual .ph-order-steps .ph-payment-note { font-size:13px; color:#c5cfb8; }
body.photography-visual .ph-session-tags>span { font-size:12px; }
body.photography-visual .ph-session>div>p.ph-session-note { font-size:13px; color:#56624a; }
/* Supporting information on the webdesign, package and order pages. */
body.webdesign-visual .wd-local, body.webdesign-visual .wd-hero-price>span,
body.webdesign-visual .wd-hero-foot, body.webdesign-visual .wd-benefit>small,
body.webdesign-visual .wd-photo-facts dd, body.webdesign-visual .wd-fineprint,
body.webdesign-visual .wd-step-foot, body.webdesign-visual .wd-package-price>small,
body.webdesign-visual .wd-package-details>p, body.webdesign-visual .wd-seo-note { font-size:13px; line-height:1.75; }
body.webdesign-visual .wd-local, body.webdesign-visual .wd-hero-price>span,
body.webdesign-visual .wd-hero-foot, body.webdesign-visual .wd-package-price>small,
body.webdesign-visual .wd-package-details>p { color:var(--readable-dark); }
body.webdesign-visual .wd-benefit>small, body.webdesign-visual .wd-photo-facts dd,
body.webdesign-visual .wd-fineprint, body.webdesign-visual .wd-step-foot,
body.webdesign-visual .wd-seo-note { color:var(--readable-ink); }
body.webdesign-visual .wd-package-details li { font-size:15px; }
body[class] .clear-lead, body[class] .service-lead { font-size:16px; line-height:1.8; }
body[class] .package-scope p, body[class] .package-scope li,
body[class] .maintenance-inclusions, body[class] .custom-agreement p:not(.clear-kicker),
body[class] .clear-services-grid p { font-size:15px; line-height:1.8; }
body[class] .album-description { font-size:16px; line-height:1.8; }
body[class] .album-gallery-toolbar p, body[class] .album-selection-guide,
body[class] .album-preview-note { font-size:14px; line-height:1.75; }
body[class] .photo-order-small { font-size:13px; line-height:1.8; }
body[class] .site-footer .footer-label, body[class] .site-footer .footer-eyebrow { font-size:11px; letter-spacing:1.2px; }
body[class] .site-footer .footer-nav>a,
body[class] .site-footer .footer-contact p,
body[class] .site-footer .footer-contact a { font-size:14px; color:#d1d6c8; }
body[class] .site-footer .footer-brand>p,
body[class] .site-footer .footer-contact address { font-size:13px; line-height:1.8; color:#c0c8b3; }
body[class] .site-footer .footer-location-note,
body[class] .site-footer .footer-contact address>span,
body[class] .site-footer .footer-legal a,
body[class] .site-footer .footer-bottom small,
body[class] .site-footer .footer-top { font-size:12px; color:#b8c2aa; }
/* A shorter header and smaller gaps, not smaller reading text or tiny tap targets. */
@media(max-width:700px) {
  html { scroll-padding-top:76px; }
  body[class] .header { height:64px; gap:12px; }
  body[class] .header .logo img { width:144px; }
  body[class] .header .menu-button { font-size:12px; min-height:44px; }
  body[class] .reading-progress { top:64px; }
  body[class] .menu-heading { padding-block:12px; }
  body[class] .menu-layout { min-height:calc(100dvh - 68px); }
  body[class] .menu-links { padding-block:14px 22px; }
  body[class] .menu-links>a { padding-block:10px; min-height:48px; }
  body.signature-home .home-quick-nav>a { min-height:44px; font-size:12px; }
  body.signature-home .rd-hero { padding-top:18px; }
  body.signature-home .rd-hero-grid { gap:22px; padding-block:20px 16px; }
  body.signature-home .rd-hero-copy .rd-handwriting { margin-block:12px; }
  body.signature-home .rd-hero-copy .rd-hero-lead,
  body.photography-visual .ph-hero-copy>p:not(.visual-kicker):not(.ph-routes-note),
  body.webdesign-visual .wd-lead { font-size:15px; line-height:1.7; }
  body.signature-home .rd-hero-actions { margin-top:18px; gap:10px; }
  body.signature-home .rd-hero-actions>a { font-size:12px; padding:11px 12px; min-height:46px; }
  body.signature-home .rd-studio { height:65vw; min-height:210px; max-height:310px; margin-right:0; }
  body.signature-home .rd-studio-work { height:86%; }
  body.signature-home .rd-studio-note { font-size:8px; line-height:1.6; max-width:100%; }
  body.signature-home .rd-hero-bottom { padding-block:12px; font-size:10px; }
  body.signature-home .rd-hero-bottom a { font-size:11px; }
  body.signature-home .home-albums, body.signature-home .visual-services,
  body[class] .home-work, body.photography-visual .ph-albums,
  body.webdesign-visual .wd-included, body.webdesign-visual .wd-process,
  body.webdesign-visual .wd-package-section { padding-block:32px; }
  body.signature-home .home-albums, body[class] .home-maker,
  body.photography-visual .ph-albums, body.photography-visual .ph-session { scroll-margin-top:0; }
  body.signature-home .home-albums-head { gap:14px; margin-bottom:20px; }
  body.signature-home .home-album-card:only-child .home-album-image,
  body.photography-visual .album-card-cover,
  body.photography-visual .album-card:only-child .album-card-cover { aspect-ratio:8/5; }
  body.signature-home .home-album-card:only-child .home-album-copy { padding-top:17px; gap:11px; }
  body.signature-home .home-albums-head>div:last-child>p,
  body.signature-home .rd-services-heading>p,
  body.signature-home .visual-service-copy>p,
  body.signature-home .home-maker>div>p:not(.home-kicker),
  body.photography-visual .ph-section-head>p,
  body.photography-visual .ph-session>div>p:not(.visual-kicker):not(.ph-session-note),
  body.webdesign-visual .wd-section-head>p, body.webdesign-visual .wd-benefit>p,
  body.webdesign-visual .wd-photo-copy>p:not(.visual-kicker),
  body.webdesign-visual .wd-steps p { font-size:15px; line-height:1.75; }
  body.signature-home .visual-services .rd-services-grid { gap:24px; }
  body.signature-home .visual-service-copy { padding:23px 23px 22px; }
  body.signature-home .visual-service ul { font-size:12px; gap:9px 16px; margin-block:16px 20px; }
  body.signature-home .photo-service-choices { grid-template-columns:1fr; gap:11px; padding-top:17px; }
  body.signature-home .photo-service-choices>p { font-size:13px; }
  body.signature-home .photo-service-choices .wd-button,
  body.signature-home .photo-service-choices .visual-link { font-size:14px; width:100%; max-width:none; min-height:46px; }
  body.signature-home .home-maker { padding-block:32px; gap:22px; }
  body.signature-home .home-maker figure { max-width:260px; }
  body.signature-home .home-maker h2 { margin-block:17px; }
  body.signature-home .home-maker .text-link { margin-top:19px; }
  body.signature-home .home-work-head { margin-bottom:22px; }
  body.signature-home .home-trust { margin-bottom:30px; padding-block:16px; font-size:12px; }
  body.photography-visual .ph-hero { padding-top:18px; }
  body.photography-visual .ph-hero-top { padding-bottom:14px; }
  body.photography-visual .ph-hero-grid { padding-block:22px; gap:22px; }
  body.photography-visual .ph-hero-copy .visual-kicker { margin-bottom:13px; }
  body.photography-visual .ph-hero h1 { margin-bottom:17px; }
  body.photography-visual .ph-hero-actions { gap:10px; margin-top:19px; }
  body.photography-visual .ph-hero-actions .wd-button { font-size:12px; gap:8px; padding:12px 11px; min-height:50px; }
  body.photography-visual .ph-hero-actions .ui-icon { width:16px; height:16px; }
  body.photography-visual .ph-hero-copy>p.ph-routes-note { font-size:12px; line-height:1.7; margin-top:12px; }
  body.photography-visual .ph-hero-signature { margin-top:13px; }
  body.photography-visual .ph-featured { height:73vw; min-height:255px; max-height:345px; }
  body.photography-visual .ph-hero-bottom { padding-block:15px; font-size:10px; }
  body.photography-visual .ph-section-head { margin-bottom:20px; }
  body.photography-visual .album-card-info,
  body.photography-visual .album-card:only-child .album-card-info { padding:20px; gap:16px; }
  body.photography-visual .ph-preview-note { margin-top:16px; }
  body.photography-visual .ph-order-section { padding-bottom:32px; }
  body.photography-visual .ph-price, body.photography-visual .ph-order-steps { padding:24px; }
  body.photography-visual .ph-price ul { margin-top:18px; padding-top:17px; }
  body.photography-visual .ph-session { padding-block:32px; gap:22px; }
  body.photography-visual .ph-session>figure { max-width:250px; }
  body.photography-visual .ph-session-tags { margin-block:18px; }
  body.webdesign-visual .wd-hero { padding-top:19px; }
  body.webdesign-visual .wd-hero-grid { gap:23px; padding-bottom:23px; }
  body.webdesign-visual .wd-steps { margin-top:22px; }
  body.webdesign-visual .wd-steps>li { padding-block:20px; }
  body.webdesign-visual .wd-step-number { top:20px; }
  body.webdesign-visual .wd-benefit { padding:20px; }
  body.webdesign-visual .wd-benefit>p { max-width:none; }
  body[class] .site-footer .footer-inner { padding-top:30px; }
  body[class] .site-footer .footer-invitation { padding-bottom:23px; }
  body[class] .site-footer .footer-email { margin-top:20px; }
  body[class] .site-footer .footer-grid { padding-block:23px; gap:22px 20px!important; }
  body[class] .site-footer .footer-nav>a { min-height:38px; }
}
@media(max-width:359px) {
  body.signature-home .rd-hero-actions>a { font-size:11px; padding-inline:10px; }
  body.photography-visual .ph-hero-actions { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  body.signature-home .visual-service-web .visual-service-bottom .visual-link { max-width:none; gap:12px; font-size:13px; white-space:nowrap; }
}

/* Mobile review: readable contact card and comfortable, consistent tap areas. */
body #contact-dialog { color:#22271e; color-scheme:light; }
body #contact-dialog .contact-dialog-body h2 { color:#22271e; }
body #contact-dialog .contact-dialog-body h2 em { color:#c34538; }
body #contact-dialog .contact-invitation { color:#505a46; }
body #contact-dialog .mail-hint,
body #contact-dialog .contact-maker>p>span,
body #contact-dialog .contact-dialog-footer address { color:#606955; }
body #contact-dialog .contact-dialog-footer { border-color:#d6dacd; }
@media(max-width:700px) {
  body[class] #mobile-nav .menu-close,
  body[class] .msk-dialog-close,
  body[class] .photo-cart-sheet .photo-cart-close,
  body[class] .photo-cart-sheet .photo-cart-remove,
  body[class] .viewer-close,
  body[class] .viewer-arrow,
  body[class] .rd-icon-button { min-width:44px; min-height:44px; }
  body[class] .header .photo-cart-launcher { width:44px; min-width:44px; min-height:44px; }
  body[class] .album-back,
  body[class] .home-maker .text-link,
  body[class] .home-work-head>a,
  body[class] .service-offer .text-link,
  body[class] .clear-inclusions>.text-link,
  body[class] .package-hosting .text-link,
  body[class] .maintenance-action button,
  body[class] .site-footer .footer-top,
  body[class] .site-footer .footer-contact a { display:inline-flex; align-items:center; min-height:44px; }
  body[class] .rd-hero-bottom>a,
  body[class] .site-footer .footer-legal a { display:inline-flex; align-items:center; min-height:44px; }
  body[class] .rd-panel-foot>button,
  body[class] .rd-back { min-height:44px; }
  body[class] .rd-panel-foot { padding-block:2px; }
  body[class] .rd-assistant .rd-form input,
  body[class] .rd-assistant .rd-form textarea,
  body[class] .rd-assistant .rd-mail-preview { font-size:16px; }
  body[class] .gallery-photo .photo-select { min-height:44px; min-width:44px; }
  body[class] .album-selection-open,
  body[class] .viewer-select,
  body[class] .viewer-cart-open { min-height:44px; }
  body[class] .rd-viewer[open] { grid-template-rows:64px minmax(0,1fr) 173px; }
  body[class] .viewer-stage { padding-bottom:56px; }
  body[class] .viewer-thumb { min-width:44px; height:44px; }
  body[class] .privacy-index a { display:flex; align-items:center; min-height:44px; }
  body.pricing-page .clear-custom-card { min-width:0; grid-template-columns:minmax(0,1fr); }
  body.pricing-page .clear-custom-card>div { min-width:0; }
  body.pricing-page .clear-custom-card .hero-primary { max-width:100%; white-space:normal; }
  body.pricing-page .clear-custom-card .hero-primary svg { flex-shrink:0; }
}

/* Give photos the main stage when a phone is turned sideways. */
@media(orientation:landscape) and (max-height:500px) and (min-width:500px) {
  body[class] .rd-viewer[open] { grid-template-rows:52px minmax(0,1fr) 76px; }
  body[class] .viewer-bar { padding-inline:16px; }
  body[class] .viewer-stage { display:flex; align-items:center; padding:10px 16px; gap:14px; }
  body[class] .viewer-figure { flex:1; width:auto; gap:8px; }
  body[class] .viewer-figure>img { max-height:calc(100% - 24px); }
  body[class] .viewer-arrow { position:static; flex:none; width:44px; height:44px; }
  body[class] .viewer-close { width:44px; height:44px; }
  body[class] .viewer-bottom { display:flex; align-items:center; justify-content:center; gap:20px; padding:10px 16px; }
  body[class] .viewer-selection { display:flex; flex:none; margin:0; gap:10px; }
  body[class] .viewer-selection>span, body[class] .viewer-bottom>p { display:none; }
  body[class] .viewer-select, body[class] .viewer-cart-open { min-height:44px; }
  body[class] .viewer-thumbnails { min-width:0; max-width:42vw; justify-content:flex-start; padding-block:1px; }
  body[class] .viewer-thumb { width:44px; height:44px; }
}
