:root{--paper:#f7f3ec;--ink:#473b33;--muted:#7f7064;--accent:#9b7753;--rule:#dcd1c1;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.7 Manrope,sans-serif}body h1,body h2,body h3,body p{margin:0}body h1,body h2,body h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.035em}body h2{font-size:clamp(44px,5.5vw,74px)}em{font-weight:300;color:var(--accent)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button[hidden]{display:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#dcc7ad}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.site-header{height:102px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:var(--serif);font-size:49px;font-weight:300;line-height:.8;letter-spacing:-.06em;display:inline-flex;align-items:center;gap:22px}.brand span{font-family:Manrope,sans-serif;font-size:8px;letter-spacing:.22em;line-height:1.6}.site-header nav{display:flex;gap:36px;font-size:12px}.site-header nav a{padding:12px 0}.eyebrow,.section-label{font-size:10px;letter-spacing:.18em;font-weight:500}.silk{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 8% 30%,#fffdf8a8,transparent 55%),linear-gradient(121deg,#ede4d5 0%,#faf7f0 19%,#e7ddcc 29%,#fffdf8 38%,#ece2d4 46%,#f9f5ee 59%,#ded0ba 75%,#f7f0e5 88%,#fffaf2 100%)}.silk:before{content:'';position:absolute;z-index:-1;inset:-50%;transform:rotate(-22deg);background:repeating-linear-gradient(100deg,transparent 0 12%,#fff9 15%,transparent 18%,#9f83551c 23%,transparent 27%);filter:blur(25px)}.hero-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:20px 60px;padding-top:65px}.hero-copy{padding-top:35px;z-index:1}.hero h1{font-size:clamp(65px,7.4vw,99px);margin:27px 0 25px}.hero h1 em{white-space:nowrap;font-size:.84em}.hero-description{color:#726354;line-height:1.9;font-size:13px}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:40px;padding:15px 25px;border-radius:40px;font-size:11px;letter-spacing:.03em;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:#5b493b;color:#fff9f0;border:1px solid #5b493b;margin-top:30px}.portrait-composition{position:relative;max-width:420px;width:100%;justify-self:center;padding:14px 14px 0}.portrait-frame{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:220px 220px 5px 5px;background:#e5dbce}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center top}.portrait-composition:before{content:'';position:absolute;inset:0 0 62px;border:1px solid #bfa786;border-radius:230px 230px 7px 7px}.portrait-orbit{position:absolute;width:115%;height:70%;border:1px solid #a98d6447;border-radius:50%;top:15%;left:-7%;transform:rotate(28deg)}.portrait-script{position:absolute;top:40%;left:-67px;writing-mode:vertical-rl;transform:rotate(180deg);font-family:'Marck Script',cursive;font-size:27px;color:#947651}.portrait-label{display:flex;gap:17px;align-items:center;justify-content:center;padding:17px 0}.portrait-label p{font-family:var(--serif);font-size:29px;line-height:1}.portrait-label p span{font-family:Manrope,sans-serif;font-size:9px;letter-spacing:.04em;display:block;margin-top:8px;color:var(--muted)}.little-star{font-size:40px;font-weight:300;color:var(--accent)}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #aa8c5d40;margin-top:14px;padding:22px 0;font-size:10px;letter-spacing:.06em;color:#796650}.hero-foot a{display:flex;gap:25px}.section{padding-block:64px}.section-label{display:flex;align-items:center;gap:17px;color:var(--muted);margin-bottom:30px}.section-label>span:first-child{font-family:var(--serif);font-size:17px;letter-spacing:0;color:var(--accent)}.line{height:1px;flex:1;background:var(--rule);margin-left:15px}.script{font-family:'Marck Script',cursive;font-size:33px;line-height:1.3}.accent{color:var(--accent)}.approach-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:70px}.approach h2{font-size:clamp(43px,4.5vw,62px);margin-top:15px}.approach-text{padding-top:10px;max-width:435px;color:var(--muted);font-size:13px;line-height:1.95}.approach-text p+p{margin-top:18px}.text-link{display:inline-flex;gap:20px;font-size:11px;border-bottom:1px solid #b7a187;padding-bottom:6px}.approach-text .text-link{margin-top:25px;color:var(--ink)}.services{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;border-top:1px solid var(--rule)}.services article{padding:28px 30px 0 0}.services article+article{padding-left:40px;border-left:1px solid var(--rule)}.service-number{font-size:10px;color:var(--accent)}.services h3{font-size:37px;margin:15px 0}.services p{font-size:12px;color:var(--muted);line-height:1.9}.service-detail{display:block;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--accent);margin-top:20px}.works-section{background:#eee7dc}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.section-description{font-size:12px;color:var(--muted);max-width:300px;padding-bottom:8px;line-height:1.9}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-block:32px}.pill{border:1px solid #cbbba6;border-radius:30px;color:#786550;background:transparent;padding:11px 21px;font-size:11px;min-height:44px}.pill[aria-pressed=true]{background:#65513f;border-color:#65513f;color:#fff9f0}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.work-card{min-width:0}.work-image{position:relative;aspect-ratio:3/4;width:100%;border:0;padding:0;display:block;overflow:hidden;background:#e5d6c1;color:#887052;border-radius:150px 150px 5px 5px}.work-card:nth-child(3n+2) .work-image{border-radius:7px}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.work-image:hover img{transform:scale(1.025)}.work-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:17px}.work-meta h3{font-size:25px;letter-spacing:-.02em;overflow-wrap:anywhere}.work-meta span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.work-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;background:radial-gradient(ellipse at 18% 20%,#fffcf4aa,transparent 60%),linear-gradient(130deg,#cbb79a,#f3eadb 33%,#d6c5ac 53%,#f8f0e2 68%,#c6b293)}.placeholder-ring{width:62%;height:65%;border:1px solid #fff8;border-radius:50%;position:absolute;transform:rotate(28deg)}.placeholder-symbol{font-family:var(--serif);font-size:56px;line-height:1;font-weight:300;position:relative}.placeholder-text{font-family:var(--serif);font-style:italic;font-size:27px;position:relative}.placeholder-small{font-size:9px;letter-spacing:.15em;position:relative}.work-status{font-size:11px;color:var(--muted);margin-top:28px;text-align:center}.play-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;border:1px solid #fffc;background:#fff5;backdrop-filter:blur(8px);display:grid;place-items:center;font-size:20px;color:white}.interlude{padding:55px 24px;text-align:center}.interlude>span:first-child{font-size:34px;color:var(--accent)}.interlude p{font-family:var(--serif);font-size:clamp(34px,4vw,53px);line-height:1.2;margin:15px 0 24px}.interlude-caption{font-size:9px;letter-spacing:.2em;color:var(--muted)}.review-note{font-size:10px;line-height:1.9;max-width:620px;color:var(--muted);margin:-12px 0 26px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review-card{background:#fffcf7;border:1px solid #e5dacb;border-radius:4px 4px 45px 4px;padding:27px;display:flex;flex-direction:column;align-items:flex-start}.review-source{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:9px;color:var(--muted);letter-spacing:.04em}.quote-symbol{font-family:var(--serif);font-size:65px;line-height:.8;color:#bea788;margin-top:24px}.review-card blockquote{margin:0;font-size:12px;line-height:1.9;white-space:pre-line}.review-body{margin-bottom:23px;flex:1;width:100%}.review-author{font-size:12px;font-weight:600}.review-date{font-size:9px;color:var(--muted);margin-top:3px}.review-card .text-link{font-size:9px;margin-top:16px;line-height:1.6}.more-button{display:flex;margin:35px auto 0}.button-outline{border:1px solid #c3ad91;background:transparent;color:#725a41}.contact{text-align:center;padding:70px 24px}.contact .script{margin:32px 0 13px}.contact h2{font-size:clamp(57px,6.5vw,85px)}.contact-note{font-size:12px;line-height:1.9;color:var(--muted);margin-top:27px}.contact-star{display:block;font-size:35px;color:var(--accent);margin-top:23px}.site-footer{padding-block:35px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer .brand{font-size:40px}.site-footer p{font-size:10px;color:var(--muted)}dialog{padding:55px 18px 20px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:10px;max-width:min(900px,94vw);max-height:94dvh}dialog::backdrop{background:#2b221fcb;backdrop-filter:blur(6px)}#media-content img,#media-content video{display:block;max-width:100%;max-height:72dvh;object-fit:contain;margin:auto}#media-caption{font-size:13px;text-align:center;margin-top:14px}.close-media{position:absolute;top:5px;right:10px;width:44px;height:44px;background:transparent;border:0;font-size:30px;color:var(--ink)}.media-error{font-size:12px;padding:35px;text-align:center}
@media(max-width:767px){.wrap{width:calc(100% - 40px)}.site-header{height:76px}.brand{font-size:40px;gap:12px}.brand span{font-size:7px;letter-spacing:.14em}.site-header nav{font-size:10px;gap:19px}.desktop-link{display:none}.hero-inner{grid-template-columns:1fr;gap:0;padding-top:29px}.hero-copy{padding-top:0;text-align:center}.eyebrow{font-size:8px;letter-spacing:.16em}.hero h1{font-size:clamp(52px,13.5vw,83px);margin:20px 0 18px;line-height:.98}.hero h1 em{font-size:.81em;line-height:1.16}.hero-description{font-size:11px;line-height:1.8;max-width:280px;margin:auto}.button{min-height:46px;padding:13px 23px;font-size:10px;gap:32px}.button-dark{margin-top:21px}.portrait-composition{width:74%;max-width:320px;margin-top:31px;padding:10px 10px 0}.portrait-frame{aspect-ratio:4/4.8}.portrait-script{font-size:21px;left:-38px;top:28%}.portrait-composition:before{bottom:56px}.portrait-label{padding:15px 0}.portrait-label p{font-size:26px}.portrait-label p span{font-size:8px}.little-star{font-size:31px}.hero-foot{margin-top:8px;padding:16px 0;font-size:8px;letter-spacing:0}.hero-foot a{gap:15px}.section{padding-block:32px}.section-label{font-size:8px;letter-spacing:.14em;gap:12px;margin-bottom:20px}.section-label>span:first-child{font-size:15px}.line{margin-left:0}.approach-grid{grid-template-columns:1fr;gap:23px}.script{font-size:29px}.approach h2{font-size:43px;margin-top:8px}.approach-text{font-size:12px;line-height:1.95;padding:0;max-width:none}.text-link{font-size:10px}.services{margin-top:32px;grid-template-columns:1fr}.services article,.services article+article{padding:21px 0;border-left:0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:30px 1fr;column-gap:8px}.service-number{grid-row:1/4;margin-top:7px;font-size:9px}.services h3{font-size:32px;margin:0 0 10px}.services p{font-size:11px}.services p br{display:none}.service-detail{font-size:18px;margin-top:10px}body h2{font-size:46px}.section-heading{display:block}.section-description{font-size:11px;margin-top:20px;padding:0}.filter-row{gap:6px;margin-block:25px}.pill{padding:9px 16px;font-size:10px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 12px}.work-card:first-child{grid-column:1/-1;width:82%;justify-self:center}.work-card:first-child .work-image{aspect-ratio:4/4.7}.work-image{border-radius:100px 100px 4px 4px}.work-meta{padding-top:12px;gap:5px;align-items:flex-start}.work-meta h3{font-size:22px;line-height:1.1}.work-meta span{font-size:7px;padding-top:5px}.work-card:not(:first-child) .work-meta{display:block}.work-card:not(:first-child) .work-meta span{display:block;margin-top:3px}.placeholder-symbol{font-size:39px}.placeholder-text{font-size:22px}.placeholder-small{font-size:7px}.work-placeholder{gap:10px}.work-status{font-size:10px;margin-top:23px}.interlude{padding:37px 20px}.interlude p{font-size:35px}.interlude-caption{font-size:7px}.review-note{font-size:9px;margin-top:-7px}.review-grid{grid-template-columns:1fr;gap:13px}.review-card{padding:24px;border-radius:3px 3px 34px 3px}.review-card blockquote{font-size:12px}.quote-symbol{margin-top:19px;font-size:57px}.review-body{margin-bottom:18px}.review-source{font-size:9px}.more-button{margin-top:26px}.contact{padding:48px 10px}.contact h2{font-size:59px}.contact .script{margin-top:25px;font-size:30px}.contact-note{font-size:11px}.site-footer{flex-wrap:wrap;padding-block:27px;gap:24px}.site-footer .brand{font-size:37px}.site-footer p{order:3;width:100%;text-align:center;padding-top:20px;border-top:1px solid var(--rule);font-size:9px}.site-footer .text-link{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.approach-promise{font-family:var(--serif);font-size:30px;line-height:1.15;color:var(--ink)}.consultation{margin-top:25px;padding:22px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.approach-grid h2,.consultation h3{font-size:28px;line-height:1.1;color:var(--ink)}.consultation h3{margin-bottom:12px}.consultation p{font-size:12px;line-height:1.85}.services{display:block}.service-group{border-bottom:1px solid var(--rule);padding:0}.service-group summary{display:grid;grid-template-columns:55px 1fr 30px;align-items:center;gap:15px;min-height:96px;cursor:pointer;list-style:none}.service-group summary::-webkit-details-marker{display:none}.service-title{font-family:var(--serif);font-size:42px;line-height:1.1;letter-spacing:-.025em}.service-toggle{font-size:25px;color:var(--accent);text-align:center;font-weight:400;transition:transform .2s}.service-group[open] .service-toggle{transform:rotate(45deg)}.service-group .service-detail{margin:0 0 17px 70px;font-size:23px}.service-items{list-style:none;margin:0 0 28px 70px;padding:0;columns:2;column-gap:45px}.service-items li{font-size:13px;line-height:1.85;color:var(--muted);padding:8px 0 8px 17px;position:relative;break-inside:avoid}.service-items li:before{content:'·';position:absolute;left:0;color:var(--accent)}
@media(max-width:767px){.hero-copy .eyebrow{font-size:8px;letter-spacing:.1em}.approach-promise{font-size:28px}.consultation{padding:19px 0;margin-top:20px}.consultation h3{font-size:28px}.consultation p{font-size:12px}.service-group summary{grid-template-columns:25px 1fr 24px;gap:10px;min-height:83px}.service-title{font-size:32px}.service-group .service-number{grid-row:auto;margin:0}.service-group .service-detail{margin:0 0 13px 35px;font-size:21px}.service-items{columns:1;margin:0 0 23px 35px}.service-items li{font-size:12px;line-height:1.85;padding-block:7px}.service-toggle{font-size:23px}}
/* Услуги с реальными кадрами работ. */
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border-top:0;align-items:start}.services .service-card,.services .service-card+.service-card{padding:0;border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:#fffcf7;min-width:0}.service-photo{display:block;width:100%;height:290px;object-fit:cover;object-position:center 42%}.service-card:nth-child(2) .service-photo{object-position:center 40%}.service-card-content{padding:25px}.service-card .service-number{display:block;margin-bottom:13px}.services .service-card h3{font-size:35px;margin:0 0 13px;line-height:1.05}.service-card .service-detail{font-size:22px;margin:0 0 20px;line-height:1.2}.service-card .service-items{columns:1;margin:0;padding:0}.service-card .service-items li{font-size:12px;line-height:1.85;padding:9px 0 9px 14px;border-top:1px solid #e6dccf}.service-card .service-items li:before{top:9px}.service-card .service-items li:first-child{border-top:0}
@media(min-width:768px) and (max-width:1000px){.services{gap:14px}.service-card-content{padding:18px}.services .service-card h3{font-size:29px}.service-photo{height:240px}}
@media(max-width:767px){.services{grid-template-columns:1fr;gap:24px;margin-top:35px}.services .service-card,.services .service-card+.service-card{display:block;padding:0;border:1px solid var(--rule)}.service-photo{height:auto;aspect-ratio:4/3;object-position:center 40%}.service-card-content{padding:24px}.services .service-card h3{font-size:36px;margin:0 0 12px}.service-card .service-number{margin-bottom:12px}.service-card .service-detail{font-size:24px;margin:0 0 16px}.service-card .service-items{margin:0;columns:1}.service-card .service-items li{font-size:12px;padding:9px 0 9px 15px}}
.service-credit{display:block;padding:9px 15px 0;text-align:right;font-size:8px;color:var(--muted);line-height:1.5}.service-credit:hover{text-decoration:underline}.service-card:nth-child(3) .service-photo{object-position:center 54%}
.services{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card:nth-child(4) .service-photo{object-position:center}.service-card:nth-child(3) .service-photo{object-position:center}
@media(max-width:767px){.services{grid-template-columns:1fr}}
.hero h1{font-size:clamp(88px,9vw,126px);line-height:.95;max-width:600px;margin:50px 0 30px}.hero-description{font-family:var(--serif);font-size:clamp(24px,2.5vw,34px);line-height:1.3;color:var(--ink);max-width:440px}.portrait-composition:before{bottom:-14px}.portrait-composition{padding-bottom:0}.hero-foot{margin-top:35px}
@media(max-width:767px){.hero h1{font-size:clamp(64px,18vw,95px);line-height:1;margin:16px 0 20px;max-width:none}.hero-description{font-size:clamp(22px,6vw,28px);line-height:1.3;max-width:330px;margin:auto}.portrait-composition:before{bottom:-10px}.hero-foot{margin-top:35px}}
.brand .brand-logo {
  display: block;
  width: 52px;
  height: auto;
}
@media (max-width: 767px) {
  .brand .brand-logo { width: 42px; }
}

.hero-editorial {
  overflow: hidden;
  background: #efe5da url('hero-background.jpg') center 24% / cover no-repeat;
}
.hero-editorial .hero-inner {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 0;
  padding-top: 0;
}
.hero-editorial .hero-copy {
  padding-block: clamp(55px, 9vw, 125px);
}
.hero-editorial h1 {
  color: var(--logo-red);
  margin: 0;
  font-size: clamp(62px, 8.2vw, 118px);
  line-height: .95;
  max-width: none;
}
.hero-editorial .hero-description {
  color: var(--ink);
  margin-top: 20px;
  font-size: clamp(22px, 2.7vw, 34px);
}
.hero-editorial .hero-description::before {
  content: '';
  display: block;
  width: 46px;
  height: 1px;
  margin-bottom: 20px;
  background: #a88769;
}
.hero-editorial .button-dark {
  border-radius: 3px;
}
.hero-visual {
  position: relative;
  align-self: end;
  margin-right: -28px;
}
.hero-portrait {
  display: block;
  width: 100%;
  height: auto;
}
.hero-monogram {
  position: absolute;
  right: 11%;
  bottom: 8%;
  width: clamp(52px, 6.5vw, 90px);
  height: auto;
  filter: brightness(0) invert(1) drop-shadow(0 1px 4px #4b2d2680);
}
@media (max-width: 767px) {
  :root { --mobile-header-height: 76px; }
  .site-header {
    height: var(--mobile-header-height);
  }
  .hero-editorial .hero-inner {
    min-height: calc(100vh - var(--mobile-header-height));
    min-height: calc(100svh - var(--mobile-header-height));
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr;
  }
  .hero-editorial .hero-copy {
    padding: 40px 0 24px;
  }
  .hero-editorial h1 {
    font-size: clamp(58px, 15vw, 88px);
  }
  .hero-editorial .hero-description {
    margin: 16px auto 0;
  }
  .hero-editorial .hero-description::before {
    margin: 0 auto 14px;
  }
  .hero-visual {
    width: calc(100% + 40px);
    margin-inline: 0;
    justify-self: center;
    align-self: stretch;
    min-height: min(94.12vw, 489px);
  }
  .hero-portrait {
    position: absolute;
    inset: 0;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
  }
}


:root { --logo-red: #6e0609; }

body h1, body h2, body h3,
body h1 em, body h2 em, body h3 em {
  color: var(--logo-red);
}

.hero-editorial .button-dark {
  min-height: 42px;
  padding: 10px 15px;
  gap: 14px;
  margin-top: 22px;
  border: 1px solid var(--logo-red);
  background: transparent;
  color: var(--logo-red);
}
.hero-editorial .button-dark:hover {
  background: #6e06090d;
}
.hero-editorial .button-dark:focus-visible {
  outline-color: var(--logo-red);
}

.hero-portrait {
  filter: drop-shadow(-18px 12px 18px #50332375)
    drop-shadow(-5px 3px 5px #50332335);
}

@media (max-width: 767px) {
  .hero-editorial .button-dark {
    min-height: 44px;
    margin-top: 17px;
  }
  .hero-portrait {
    filter: drop-shadow(-10px 6px 12px #50332370);
  }
}

.services {
  --service-edge: max(48px, calc((100vw - 1180px) / 2));
}
.service-entry {
  min-width: 0;
}
.service-heading {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(120px, 14vw, 180px);
  margin-bottom: 12px;
  isolation: isolate;
}
.service-heading .service-hand {
  position: absolute;
  top: 50%;
  width: min(88%, 460px);
  height: 100%;
  object-fit: contain;
  transform: translateY(-50%);
  filter: drop-shadow(0 5px 8px #38211635);
  pointer-events: none;
  z-index: -1;
}
.service-hand-left {
  left: calc(-1 * var(--service-edge));
  object-position: left center;
}
.service-hand-right {
  right: calc(-1 * var(--service-edge));
  object-position: right center;
}
.service-heading h3 {
  margin: 0;
  padding: 9px 18px 11px;
  background: #f7f3eceb;
  border-radius: 4px;
  font-size: clamp(29px, 4vw, 42px);
  text-align: center;
}
.service-entry:nth-child(2) .service-photo {
  object-position: center 40%;
}
@media (max-width: 767px) {
  .services { --service-edge: 20px; }
  .service-heading {
    min-height: 124px;
    margin-bottom: 8px;
  }
  .service-heading .service-hand { width: min(90%, 380px); }
}

.services > .service-entry {
  display: block;
  padding: 0;
  border: 0;
}
.service-entry > .service-photo {
  border-radius: 8px;
}
.service-entry > .service-heading {
  margin: 8px 0 0;
}
.service-entry > .service-detail {
  margin: 0 0 12px;
}
.service-entry > .service-items {
  columns: 1;
  margin: 0;
}

.approach > .approach-tagline {
  margin-bottom: 20px;
  text-align: center;
}
.service-entry > .service-heading {
  grid-template-rows: auto auto;
  row-gap: 6px;
  margin: 10px 0 12px;
  min-height: 0;
}
.service-heading .service-hand {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  z-index: auto;
  height: clamp(88px, 10vw, 135px);
  transform: none;
}
.service-heading .service-hand-left {
  justify-self: start;
  margin-left: calc(-1 * var(--service-edge));
}
.service-heading .service-hand-right {
  justify-self: end;
  margin-right: calc(-1 * var(--service-edge));
}
.service-heading h3 {
  padding: 0;
  background: transparent;
}

.approach .approach-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}
.approach-panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 8px;
  padding: clamp(28px, 5vw, 62px) clamp(18px, 5vw, 55px);
  text-align: center;
}
.approach-panel::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: -5px;
  background: var(--approach-photo) center / cover no-repeat;
  filter: blur(2px);
}
.approach-panel::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: #faf5edc9;
}
.approach-professionalism::before {
  filter: blur(0.7px);
}
.approach-professionalism {
  --approach-photo: url('approach-background.jpg');
}
.approach-panel.consultation {
  --approach-photo: url('consultation-background.jpg');
  margin: 0;
  border: 0;
}
.approach-panel .approach-tagline {
  margin-bottom: 16px;
}
.approach-panel h2,
.approach-panel h3 {
  max-width: 406px;
  margin: 0 auto 12px;
  text-align: left;
}
.approach-panel > p:not(.approach-tagline) {
  max-width: 406px;
  margin-inline: auto;
  text-align: left;
  font-size: 14px;
  line-height: 1.75;
}
.approach-panel .text-link {
  display: inline-block;
  margin-top: 15px;
}

.script.reviews-link-accent {
  color: var(--logo-red);
  font-size: 1.3em;
}

.works-section .work-grid { margin-top: 24px; }

.section-heading.works-heading {
  display: block;
}
.works-heading .section-description {
  margin-top: 14px;
}

.review-grid {
  display: flex;
  flex-flow: row nowrap;
  max-width: 100%;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 12px;
  scroll-snap-type: x mandatory;
  scrollbar-color: #bfa592 transparent;
  scrollbar-width: thin;
}
.review-grid:focus-visible {
  outline: 2px solid var(--logo-red);
  outline-offset: 4px;
}
.review-grid .review-card {
  flex: 0 0 40%;
  min-width: 0;
  scroll-snap-align: start;
}
.reviews-section .review-more {
  gap: 12px;
  padding: 8px 10px 8px 18px;
  border: 1px solid var(--logo-red);
  background: var(--logo-red);
  color: #fffaf5;
}
.reviews-section .review-more-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid #fffaf580;
  border-radius: 50%;
  font-size: 15px;
}
.reviews-section .review-more:hover {
  background: #86202a;
}
@media (max-width: 767px) {
  .review-grid { gap: 10px; }
  .review-grid .review-card {
    flex-basis: calc(100% - 30px);
    padding: 16px 18px 18px;
  }
  .review-grid .quote-symbol { margin-top: 12px; }
}


.contact .contact-message,
.contact .contact-details {
  max-width: 680px;
  margin: 16px auto 0;
  font-size: clamp(23px, 3vw, 30px);
  line-height: 1.35;
}

.contact-details a {
  text-decoration: underline;
  text-underline-offset: 0.15em;
  overflow-wrap: anywhere;
}

.contact .contact-invitation {
  margin: 16px 0 0;
  color: var(--logo-red);
  font-size: clamp(23px, 3vw, 30px);
}
.site-footer .footer-name {
  color: var(--logo-red);
  font-family: var(--serif);
  font-size: 25px;
  line-height: 1.1;
}

@media (min-width: 768px) {
  .service-heading .service-hand {
    display: none;
  }
  .service-entry > .service-heading {
    grid-template-rows: auto;
  }
}
.review-more-short {
  display: none;
}
@media (max-width: 767px) {
  .review-grid .review-more {
    flex: 0 0 60px;
    flex-direction: column;
    align-self: center;
    gap: 7px;
    margin: 0 0 0 4px;
    padding: 12px 6px;
    border-radius: 22px;
    scroll-snap-align: end;
  }
  .review-more-label { display: none; }
  .review-more-short { display: inline; }
}

.site-header .site-language {
  margin-left: 20px;
  border: 1px solid #d8c4b3;
  border-radius: 20px;
  appearance: none;
  min-width: 62px;
  padding: 8px 26px 8px 12px;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%236e0609' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 11px center / 10px 7px no-repeat;
  color: var(--logo-red);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}
.site-header nav { margin-left: auto; }
.site-language:focus-visible {
  outline: 2px solid var(--logo-red);
  outline-offset: 3px;
}
@media (max-width: 767px) {
  .site-header .site-language {
    margin-left: 12px;
  }
}

/* Base styles replace the Tailwind development CDN on the static site. */
:where(button, select) {
  color: inherit;
  background-color: transparent;
}
:where(button) { border: 0; }
.site-header .site-language-menu {
  position: relative;
  z-index: 5;
  margin-left: 20px;
}
.site-header .site-language-menu .site-language {
  margin-left: 0;
  list-style: none;
}
.site-language-menu summary::-webkit-details-marker { display: none; }
.site-language-menu .language-options {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  display: grid;
  min-width: 125px;
  padding: 5px;
  border: 1px solid #d8c4b3;
  border-radius: 8px;
  background: var(--paper);
  box-shadow: 0 6px 18px #473b331a;
}
.language-options a {
  padding: 8px 10px;
  border-radius: 4px;
}
.language-options a[aria-current="page"],
.language-options a:hover {
  background: #eee2d6;
  color: var(--logo-red);
}
@media (max-width: 767px) {
  .site-header .site-language-menu { margin-left: 12px; }
}
