/* V2: editorial photography, stronger pacing, restrained motion. */
:root{--ease-out:cubic-bezier(.16,1,.3,1)}
.site-header{position:relative;z-index:5}
@media screen{
  .js-ready body{padding-top:var(--site-header-height,0px)}
  .js-ready .site-header{position:fixed;inset:0 0 auto;transition:transform .24s var(--ease-out)}
  .js-ready .site-header.is-scroll-hidden{transform:translateY(calc(-100% - 1px))}
  html.menu-open .site-header{transform:none;transition:none}
}
@media(prefers-reduced-motion:reduce){.js-ready .site-header{transition:none!important}}
.header-inner{min-height:100px}
.hero{position:relative;padding:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:0;overflow:hidden}
.hero-copy{position:relative;z-index:2;padding:74px 4.5vw 76px max(6vw,calc((100vw - var(--max))/2));align-self:center}
.hero h1{font-size:clamp(3.75rem,6.15vw,6rem)}
.hero h1>span,.hero h1>em{display:block}


.hero-photo{position:relative;margin:0;min-height:690px;align-self:stretch;background:var(--blue)}
.photo-window{position:absolute;inset:0;overflow:hidden}
.architecture-photo{width:100%;height:100%;object-fit:cover;object-position:53% center}
.signature-plaque{position:absolute;z-index:1;left:0;top:50%;bottom:auto;transform:translate(var(--plaque-x,0%),-50%);width:min(370px,calc(100% - 48px));padding:48px 40px;background:var(--navy);color:var(--gold);display:flex;flex-direction:column;align-items:center;gap:26px;text-align:center}
.signature-plaque>img{width:230px}
.signature-plaque>span{font:400 1.4rem/1.3 Cormorant,Georgia,serif;letter-spacing:.1em;text-transform:uppercase}
.signature-plaque small{display:block;margin-top:8px;font-size:.76rem;letter-spacing:.21em}




.button svg{transition:transform .35s var(--ease-out)}
.button:hover svg,.button:focus-visible svg{transform:translateX(4px)}
.services{padding-top:108px;padding-bottom:105px}
.section-intro{grid-template-columns:1.15fr 1fr;gap:80px;margin-bottom:55px}
.section-intro h2{font-size:clamp(3rem,4.7vw,4.7rem)}
summary{position:relative;padding:29px 0;transition:color .25s ease}
summary:before{content:'';position:absolute;inset:0 -20px;background:var(--navy);z-index:0;transform:scaleY(0);transform-origin:bottom;transition:transform .4s var(--ease-out)}
summary>span{position:relative;z-index:1}
summary>span:first-child{font-size:2.2rem}
summary .service-short{transition:color .25s ease}
summary:hover,summary:focus-visible{color:var(--paper)}
summary:hover:before,summary:focus-visible:before{transform:scaleY(1)}
summary:hover .service-short,summary:focus-visible .service-short{color:var(--gold)}
summary:hover .plus,summary:focus-visible .plus{color:var(--gold)}
details[open] summary{color:var(--navy)}
details[open] summary:hover,details[open] summary:focus-visible{color:var(--paper)}
details[open] .service-detail{padding-top:6px}
.preparation{background:var(--navy);color:var(--paper);border:0;overflow:hidden}
.preparation-inner{grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding-top:90px;padding-bottom:90px}
.preparation-photo{margin:0;position:relative;align-self:stretch;display:flex;flex-direction:column;min-width:0}
.still-life-window{position:relative;flex:1;min-height:620px;overflow:hidden;background:var(--blue)}
.still-life-window>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:80% center}


.preparation-heading h2{font-size:clamp(2.65rem,3.55vw,3.7rem)}
.preparation-heading h2 em{font-style:normal;color:var(--gold)}
.preparation-heading p{color:#c8cbd0;max-width:350px;margin-top:24px;font-size:.95rem}
.text-phone{color:var(--gold);border-color:var(--gold);margin-top:20px;font-size:2.55rem;gap:30px}
.text-phone svg{transition:transform .35s var(--ease-out)}
.text-phone:hover svg,.text-phone:focus-visible svg{transform:translate(3px,-3px)}
.steps{margin-top:43px}
.steps li{padding-left:47px;padding-bottom:22px}
.steps li+li{padding-top:22px;border-color:rgba(187,172,147,.3)}
.steps li:before{color:var(--gold)}
.steps h3{font-size:1rem}
.steps p{color:#c8cbd0;font-size:.875rem;line-height:1.8}
.contact{padding-top:108px;padding-bottom:108px}
.contact h2{font-size:clamp(3rem,4.7vw,4.7rem)}
.contact-number{font-size:3.35rem}
.contact-number,.text-phone{font-variant-numeric:lining-nums}
.map-link svg{transition:transform .35s var(--ease-out)}
.map-link:hover svg{transform:translate(3px,-3px)}
@media(min-width:1550px){.hero{column-gap:0}.hero-copy{padding-right:70px}.hero-photo{min-height:750px}}
@media(max-width:1100px){
  .hero{column-gap:0;grid-template-columns:1.1fr 1fr}
  .hero-copy{padding-top:60px;padding-bottom:65px;padding-right:30px}
  .hero h1{font-size:clamp(3.4rem,6.3vw,5.3rem)}
  .hero-photo{min-height:660px}
  .signature-plaque{width:min(320px,calc(100% - 40px));padding:40px 32px}
  .signature-plaque>img{width:200px}

  .preparation-inner{gap:6vw}
  .still-life-window{min-height:640px}
  .section-intro{gap:50px}
  summary>span:first-child{font-size:1.95rem}
}
@media(max-width:760px){
  .header-inner{min-height:90px}
  .hero{display:flex;flex-direction:column;gap:0}
  .hero-copy{order:2;width:100%;padding:48px 6vw 43px;align-self:auto}
  .hero h1{font-size:clamp(3.65rem,12vw,5.4rem)}


  .hero-photo{width:100%;min-height:380px;order:1}
  .photo-window{animation:none}
  .architecture-photo{object-position:center 45%;will-change:auto}
  .signature-plaque{--plaque-x:-50%;left:50%;width:min(280px,calc(100% - 48px));padding:32px 28px;gap:22px}
  .signature-plaque>img{width:180px}
  .signature-plaque>span{font-size:1.07rem}
  .signature-plaque small{font-size:.68rem}


  .services{padding-top:62px;padding-bottom:60px}
  .section-intro{grid-template-columns:1fr;gap:23px;margin-bottom:32px}
  .section-intro h2,.contact h2{font-size:3.15rem}
  summary{padding:22px 0}
  summary:before{inset:0 -12px}
  summary>span:first-child{font-size:1.85rem}
  .preparation-inner{grid-template-columns:1fr;padding-top:60px;padding-bottom:60px;gap:37px}
  .preparation-content{grid-row:1}
  .preparation-heading h2{font-size:3rem}
  .preparation-heading p{max-width:400px}
  .steps{margin-top:35px}
  .steps p{font-size:.9375rem;max-width:100%}
  .preparation-photo{grid-row:2}
  .still-life-window{min-height:330px}
  .still-life-window>img{object-position:center}

  .contact{padding-top:63px;padding-bottom:63px}
  .contact-number{font-size:3rem}
}
@media(max-width:380px){.hero h1{font-size:3.55rem}.hero-photo{min-height:335px}.preparation-heading h2{font-size:2.7rem}.section-intro h2,.contact h2{font-size:2.95rem}}
@media(prefers-reduced-motion:reduce){.architecture-photo{transform:none;will-change:auto}.photo-window,.signature-plaque{animation:none}.motion-arrive,.photo-arrive .still-life-window{animation:none}}
@media print{.hero-photo,.preparation-photo{display:none}.hero-copy{padding:0}.hero{display:block}.hero h1{font-size:32pt}.preparation{background:white;color:black}.preparation-heading p,.steps p,.preparation-heading h2 em,.text-phone{color:black}.preparation-inner{padding:20px 0}.hero-copy{padding-bottom:15px}.contact{padding:20px 0}}

/* Location: three practical details, followed by a full-width map. */
.contact{display:block;padding-top:88px;padding-bottom:88px}
.contact-heading{margin-bottom:48px}
.contact-information{grid-template-columns:1.1fr .85fr 1.15fr;gap:32px;margin-bottom:48px}
.contact-information>div{min-width:0}
.contact-information>div+div{border-left:1px solid var(--line);padding-left:32px}
.contact .contact-hours,.contact .contact-direct{grid-column:auto;border-top:0;padding-top:0}
.contact h3{margin-bottom:16px}
.contact address{font-size:1.05rem}
.contact .hours-value{display:inline-block;font-family:Cormorant,Georgia,serif;font-size:2.5rem;line-height:1.25;margin-bottom:6px}
.contact .contact-number{font-size:2.5rem;line-height:1.25}
.contact .contact-email{font-size:.9375rem;margin-top:8px}
.contact .contact-direct p{margin-top:16px;max-width:32ch}
.location-map{background:var(--stone)}
.location-map iframe{display:block;width:100%;height:420px;border:0}
.map-footer{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px 32px;background:var(--navy);color:var(--paper)}
.map-caption{display:flex;align-items:center;gap:20px}
.map-caption>svg{color:var(--gold)}
.map-caption p{font-size:1rem}
.map-caption span{display:block;font-size:.8125rem;color:#c8cbd0;margin-top:4px}
.map-footer .button{flex-shrink:0;gap:24px}
@media(max-width:1000px) and (min-width:761px){
  .contact-information{gap:20px;grid-template-columns:1fr .85fr 1.15fr}
  .contact-information>div+div{padding-left:20px}
  .contact address{font-size:.9375rem}
  .contact .contact-number{font-size:2.1rem}
  .contact .contact-email{font-size:.8125rem}
}
@media(max-width:760px){
  .contact{padding-top:60px;padding-bottom:60px}
  .contact-heading{margin-bottom:32px}
  .contact h2{font-size:clamp(2.65rem,9vw,3.15rem)}
  .contact-information{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
  .contact .contact-information>div+div{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
  .contact h3{margin-bottom:8px}
  .contact .contact-direct p{max-width:none}
  .location-map iframe{height:360px}
  .map-footer{flex-direction:column;align-items:stretch;gap:24px;padding:24px}
  .map-caption{gap:16px}
  .map-caption p{font-size:.9375rem}
  .map-footer .button{width:100%}
}
@media print{.location-map{display:none}.contact{padding:20px 0}.contact-information{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}}

/* Clearer topbar and direct appointment information. */
html{scroll-padding-top:0}
#kontakt{scroll-margin-top:0}
.header-inner{min-height:120px;gap:24px}
.site-header .brand{gap:20px}
.site-header .brand img{width:90px}
.site-header .brand-name{font-size:1.4rem;letter-spacing:.1em}
.site-header .brand-name>span{font-size:.875rem;letter-spacing:.24em;margin-top:8px}
.site-header nav{gap:24px}
.site-header nav a{font-size:.875rem}
.site-header .header-phone{display:inline-flex;gap:12px;min-height:52px;padding:12px 20px;color:var(--navy);font-size:.9375rem;white-space:nowrap}
.site-header .header-phone:hover{text-decoration:none}
.hero-copy .hero-hours{margin:36px 0 0;font-size:1rem;line-height:1.8}
.hero-hours span{display:inline-block;margin-left:12px;font-variant-numeric:tabular-nums}
.hero-address{margin-top:12px;font-style:normal;font-size:1rem;line-height:1.8;color:#c8cbd0;max-width:34ch;text-wrap:balance}
.hero-copy>.button{margin-top:28px}
@media(min-width:761px) and (max-width:1279px){
  .header-inner{display:grid;grid-template-columns:1fr auto;gap:16px 24px;padding-top:20px;padding-bottom:16px}
  .site-header .brand{grid-column:1;grid-row:1}
  .site-header .header-phone{grid-column:2;grid-row:1}
  .site-header nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:40px}
}
@media(max-width:760px){
  .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 12px;padding-top:20px;padding-bottom:20px;min-height:0}
  .site-header .brand{grid-column:1/-1;gap:18px;justify-self:start}
  .site-header .brand img{width:78px}
  .site-header .brand-name{font-size:clamp(1.1rem,4.3vw,1.35rem);letter-spacing:.08em}
  .site-header .brand-name>span{font-size:.8125rem;letter-spacing:.22em}
  .menu-toggle{grid-column:1;grid-row:2;justify-self:start;min-height:48px}
  .site-header .header-phone{grid-column:2;grid-row:2;min-height:48px;padding:10px 16px;font-size:.875rem}
  .site-header nav{grid-column:1/-1;grid-row:3;padding:0;gap:0}
  .hero-copy .hero-hours{margin-top:28px;font-size:.9375rem}
  .hero-hours span{margin-left:8px}
  .hero-address{font-size:.9375rem;margin-top:12px;max-width:32ch}
  .hero-copy>.button{margin-top:24px}
}
@media print{.hero-copy .hero-hours,.hero-address{color:black}.hero-address{margin-bottom:16px}}

/* Contact and map use the same navy, paper and gold palette. */
.hero-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:20px}
.hero-contact a{color:var(--gold);text-decoration-thickness:1px;overflow-wrap:anywhere}
.hero-phone{font-family:Cormorant,Georgia,serif;font-size:2rem;line-height:1.2;font-variant-numeric:lining-nums}
.hero-email{font-size:.9375rem;line-height:1.8}
.site-header .header-inner{display:flex;justify-content:space-between;gap:32px;padding-top:0;padding-bottom:0}
.site-header nav{margin-left:auto;justify-content:flex-end}
.contact-information{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,.95fr) minmax(0,1.35fr);gap:24px}
.contact-information>div+div{padding-left:24px}
.contact .contact-number{font-size:clamp(1.4rem,2.5vw,2.5rem)}
.contact .contact-mail .contact-email{display:inline-block;margin-top:0;font-family:Cormorant,Georgia,serif;font-size:clamp(1.2rem,2vw,1.75rem);line-height:1.3;text-decoration-thickness:1px;overflow-wrap:anywhere}
/* Filter only the tiles; marker, labels and controls retain their palette. */
.office-map{height:420px;width:100%;position:relative;z-index:0;background-color:#E8E5E0;font-family:Manrope,sans-serif}
.office-map.leaflet-container{background-color:#E8E5E0}
.office-map .leaflet-tile-pane{filter:grayscale(1) sepia(0.3) saturate(0.85) contrast(0.96) brightness(1.03)}
.office-map .leaflet-control-zoom{border:0;border-radius:0;box-shadow:none;margin:1rem 1rem 0 0}
.office-map .leaflet-control-zoom a{width:2.5rem;height:2.5rem;line-height:2.5rem;border:0;border-radius:0;background:#111D2D;color:#EDE5DA;font-size:1.25rem}
.office-map .leaflet-control-zoom a+a{border-top:1px solid rgb(237 229 218 / .13)}
.office-map .leaflet-control-zoom a:hover,.office-map .leaflet-control-zoom a:focus-visible{background:#BBAC93;color:#111D2D}
.office-map .leaflet-control-zoom a.leaflet-disabled{background:#111D2D;color:#BBAC93;opacity:.65}
.office-map .leaflet-control-attribution{background:rgb(237 229 218 / .88);color:#25354C;font:400 13px/1.5 Manrope,sans-serif;padding:.2rem .6rem}
.office-map .leaflet-control-attribution a{color:inherit}
.map-pin{background:none;border:0}
.map-pin svg{width:100%;height:100%;display:block;position:relative;z-index:1;overflow:visible}
.map-pin__shape{fill:#BBAC93;stroke:#111D2D;stroke-width:1}
.map-pin__dot{fill:#111D2D}
.office-map .map-label.leaflet-tooltip{padding:.45rem .75rem;border:0;border-radius:0;background:#111D2D;color:#EDE5DA;font:500 13px/1.5 Manrope,sans-serif;box-shadow:none}
.office-map .map-label.leaflet-tooltip::before{display:none}
.map-pin__ripple{position:absolute;left:5px;bottom:-4px;width:30px;height:10px;border:1px solid #BBAC93;border-radius:50%;opacity:0;pointer-events:none}
.map-entrance .map-pin svg{animation:map-pin-drop .75s cubic-bezier(.16,1,.3,1) both}
.map-entrance .map-pin__ripple{animation:map-pin-wave 1.1s .18s cubic-bezier(.16,1,.3,1) both}
.map-entrance .map-label{animation:map-label-reveal .75s .15s cubic-bezier(.16,1,.3,1) both}
@keyframes map-pin-drop{from{transform:translateY(-28px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes map-pin-wave{from{transform:scale(.4);opacity:.8}to{transform:scale(3.6);opacity:0}}
@keyframes map-label-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes map-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .map-entrance .map-pin svg,.map-entrance .map-label{animation:map-fade .25s ease-out both!important;clip-path:none;transform:none}
  .map-pin__ripple{display:none}
}
.office-map .leaflet-popup-content-wrapper,.office-map .leaflet-popup-tip{background:var(--navy);color:var(--paper);box-shadow:none}
.office-map .leaflet-popup-content-wrapper{border-radius:0}
.office-map .leaflet-popup-content{font:400 .8125rem/1.7 Manrope,sans-serif}
.office-map .leaflet-popup-close-button{color:var(--gold)}
.office-map .leaflet-popup-close-button:hover{color:var(--paper)}
.map-fallback{display:flex;align-items:center;justify-content:center;height:100%;padding:32px;text-align:center;color:var(--navy)}
.map-status{padding:16px 24px;font-size:.875rem;background:var(--paper);color:var(--navy)}
.footer-disclaimer{max-width:var(--max);margin:0 auto;padding:28px 0 36px;border-top:1px solid rgba(187,172,147,.3);font-size:.8125rem;line-height:1.9;color:#c8cbd0}
@media(max-width:1430px){.footer-disclaimer{margin-left:6vw;margin-right:6vw}}
@media(min-width:761px) and (max-width:1000px){
  .site-header .header-inner{display:grid;grid-template-columns:1fr;gap:16px;padding-top:20px;padding-bottom:16px}
  .site-header .brand{grid-row:1;grid-column:1}
  .site-header nav{grid-row:2;grid-column:1;width:100%;margin:0;justify-content:flex-end;gap:24px}
  .contact-information{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,.95fr) minmax(0,1.35fr);gap:16px}
  .contact-information>div+div{padding-left:16px}
  .contact address{font-size:.875rem}
  .contact .hours-value{font-size:2rem}
}
@media(max-width:760px){
  .site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-top:16px;padding-bottom:16px}
  .site-header .brand{grid-row:1;grid-column:1;gap:8px;min-width:0;position:relative;z-index:2;min-height:48px}
  .site-header .brand img{width:clamp(32px,10vw,56px);flex-shrink:0}
  .site-header .brand-name{font-size:clamp(.8125rem,3.5vw,1.2rem);letter-spacing:.05em}
  .site-header .brand-name>span{font-size:.6875rem;letter-spacing:.2em;margin-top:5px}
  .menu-toggle{grid-row:1;grid-column:2;justify-self:end;position:relative;z-index:2;min-height:48px;padding:10px;gap:8px}
  .js-ready .site-header nav{position:fixed;inset:0;z-index:1;width:auto;height:100vh;height:100dvh;margin:0;padding:112px 6vw max(32px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:var(--navy);justify-content:flex-start;align-items:stretch;gap:0}
  .js-ready .site-header nav a{padding:24px 0;font-size:1.125rem}
  html.menu-open,html.menu-open body{overflow:hidden}
  .contact-information{grid-template-columns:1fr;gap:24px}
  .contact .contact-number{font-size:2.5rem}
  .contact .contact-mail .contact-email{font-size:1.75rem}
  .hero-contact{margin-top:20px;gap:12px}
  .hero-phone{font-size:2rem}
  .hero-email{font-size:.9375rem}
  .office-map{height:360px}
  .footer-disclaimer{padding-top:24px;padding-bottom:28px;font-size:.8125rem}
}
@media print{.location-map{display:none}.footer-disclaimer{color:black}.contact-information{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Typeset: established faces, a consistent reading size and deliberate display scale. */
:root{--type-body:1rem;--type-meta:.875rem;--type-section:clamp(2.75rem,4.7vw,4.7rem);--type-contact:clamp(2.25rem,3vw,2.55rem);--text-on-navy:#ced1d4}
p,address{text-wrap:pretty}
h2{line-height:1.1;letter-spacing:-.025em}
.steps p,.service-detail,.section-intro p,.preparation-heading p{font-size:var(--type-body);line-height:1.75}
.steps p,.preparation-heading p{color:var(--text-on-navy);letter-spacing:.005em}
.service-detail p{max-width:65ch}
.section-intro p{max-width:45ch}
.steps p{max-width:52ch}
.preparation-heading p{max-width:38ch}
.service-short,.services-note,.contact h3{font-size:var(--type-meta);line-height:1.6}
.steps h3{font-size:var(--type-body);line-height:1.5;font-weight:600}
.hero-copy .hero-hours,.hero-address,.hero-email{font-size:var(--type-body);line-height:1.8}
.hero-copy .hero-hours,.hero-address{color:var(--text-on-navy)}
.hero-phone,.text-phone{font-size:var(--type-contact);line-height:1.2}
.hero-phone,.text-phone,.contact-number,.hours-value,.hero-hours span{font-variant-numeric:lining-nums tabular-nums}
.contact .contact-mail .contact-email{font-variant-ligatures:none}
.map-caption span,.footer-inner,.footer-inner>span,.footer-brand span{font-size:var(--type-meta);line-height:1.7}
.footer-disclaimer{max-width:var(--max);font-size:var(--type-meta);line-height:1.85;color:var(--text-on-navy)}
.office-map .map-label.leaflet-tooltip{font-weight:600}
@media screen{
  .hero h1{font-size:clamp(3rem,6.15vw,6rem);line-height:1.04;letter-spacing:-.03em}
  .section-intro h2,.contact h2{font-size:var(--type-section)}
  .preparation-heading h2{font-size:clamp(2.65rem,3.55vw,3.7rem)}
}
@media screen and (max-width:760px){
  .hero h1{font-size:clamp(2.75rem,12vw,5.2rem)}
  .preparation-heading h2{font-size:clamp(2.25rem,8vw,3.25rem)}
  .section-intro h2,.contact h2{font-size:clamp(2.5rem,9vw,3.5rem)}
  .button{font-size:.9375rem;line-height:1.5;gap:16px}
  .footer-disclaimer{font-size:var(--type-meta)}
}
@media screen and (min-width:761px) and (max-width:1000px){
  .contact address{font-size:var(--type-body)}
}

/* Animate: light reveals the stone and gold mark; all other motion responds to use. */
.button,.menu-toggle{transition:background-color .18s,color .18s,border-color .18s}
.button:active{background:var(--paper);color:var(--navy)}
.menu-toggle:hover,.menu-toggle[aria-expanded="true"]{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.hero-contact a,.contact-number,.contact-email,.services-note a,.footer-brand{transition:color .18s,text-decoration-color .18s;text-decoration-thickness:1px}
.hero-contact a:hover,.hero-contact a:focus-visible,.footer-brand:hover,.footer-brand:focus-visible{color:var(--paper)}
.contact-number:hover,.contact-number:focus-visible,.contact-email:hover,.contact-email:focus-visible,.services-note a:hover,.services-note a:focus-visible{color:var(--blue);text-decoration:underline}
nav a:focus-visible:after{transform:scaleX(1)}
.footer-brand:hover span,.footer-brand:focus-visible span{text-decoration:underline;text-underline-offset:5px}
@media screen and (prefers-reduced-motion:no-preference){
  .photo-window{animation:stone-light .76s var(--ease-out) both}
  .signature-plaque>img{animation:gold-impression .72s .12s var(--ease-out) both}
  .signature-plaque>span{animation:ink-settle .52s .22s ease-out both}
  .hero h1>span,.hero h1>em{animation:ink-settle .52s ease-out both}
  .hero h1>span:nth-child(2){animation-delay:60ms}
  .hero h1>em{animation-delay:120ms}
}
@keyframes stone-light{from{clip-path:inset(0 0 0 14%)}to{clip-path:inset(0)}}
@keyframes gold-impression{from{clip-path:inset(0 18% 0 0);opacity:.55}to{clip-path:inset(0);opacity:1}}
@keyframes ink-settle{from{opacity:.65}to{opacity:1}}
@media screen and (max-width:760px){
  .js-ready .site-header nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;clip-path:inset(0 0 100% 0);transition:clip-path .2s var(--ease-out),opacity .16s ease-out,visibility 0s .2s}
  .js-ready .site-header nav.is-open{visibility:visible;opacity:1;pointer-events:auto;clip-path:inset(0);transition:clip-path .32s var(--ease-out),opacity .18s ease-out,visibility 0s}
}
@media(prefers-reduced-motion:reduce){
  .js-ready .site-header nav{clip-path:none!important;transition:opacity .12s linear,visibility 0s .12s!important}
  .js-ready .site-header nav.is-open{transition:opacity .12s linear,visibility 0s!important}
  .button,.menu-toggle,.hero-contact a,.contact-number,.contact-email,.services-note a,.footer-brand{transition:color .12s,background-color .12s!important}
  .button:hover svg,.button:focus-visible svg,.text-phone:hover svg,.text-phone:focus-visible svg{transform:none}
}
