@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&display=swap');
:root{--ink:#30251f;--muted:#7c716b;--copper:#b78060;--rust:#98664b;--cream:#f8f5f0;--sand:#efe9e1;--border:#e2d9cf;--white:#fffdf9;--dark:#29201b;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--shadow:0 20px 65px rgba(61,41,24,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font-family:var(--sans);color:var(--ink);font-size:15px;line-height:1.62}body.menu-open{overflow:hidden}::selection{background:#e0b99f;color:#2e1c13}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif);line-height:1.16;letter-spacing:-.047em}h1{font-size:clamp(3.25rem,6.4vw,6.8rem)}h2{font-size:clamp(2.55rem,4.55vw,4.7rem)}h3{font-family:var(--serif);font-size:1.73rem;letter-spacing:-.03em;line-height:1.25}em{font-weight:400;color:var(--rust)}.container{width:min(1260px,calc(100% - 100px));margin-inline:auto}.eyebrow{font-size:.71rem;letter-spacing:.23em;font-weight:700;text-transform:uppercase;color:var(--rust);display:inline-flex;align-items:center;gap:12px}.eyebrow:before{content:'';display:block;width:24px;height:1px;background:currentColor}.muted{color:var(--muted)}.leading{font-size:1.13rem;line-height:1.9;color:var(--muted);max-width:570px}.button{display:inline-flex;align-items:center;justify-content:center;gap:19px;min-height:55px;padding:14px 25px;border:1px solid transparent;border-radius:2px;white-space:nowrap;font-weight:650;font-size:.83rem;letter-spacing:.015em;transition:transform .2s,background .2s,box-shadow .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--dark);color:#fff}.button-dark:hover{background:#513a2c;box-shadow:0 10px 25px #3c291a22}.button-light{background:var(--white);color:var(--ink)}.button-outline{border-color:#af9d8c;background:transparent;color:var(--ink)}.button-outline:hover{background:var(--sand)}.button-copper{background:#bc8969;color:#fff}.button-arrow{font-size:1.23rem;line-height:1}.text-link{display:inline-flex;align-items:center;gap:14px;font-weight:700;font-size:.83rem;border-bottom:1px solid var(--copper);padding:7px 0;transition:gap .2s}.text-link:hover{gap:22px}.small{font-size:.82rem}.hide{display:none!important}
.demo-strip{min-height:31px;background:#372821;color:#f6efe6;text-align:center;padding:6px 22px;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase}.demo-strip span{opacity:.82}.site-header{position:relative;z-index:50;background:rgba(248,245,240,.97);border-bottom:1px solid #e7ded4}.header-inner{min-height:101px;display:flex;align-items:center;gap:30px}.logo{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.logo-main{font-family:var(--serif);font-size:2.65rem;font-weight:600;letter-spacing:-.07em;color:var(--ink)}.logo-main i{font-style:italic;color:var(--copper)}.logo-small{font-size:.57rem;letter-spacing:.34em;font-weight:700;margin-top:7px;margin-left:5px;color:var(--rust)}.main-nav{margin-left:auto;display:flex;align-items:center;gap:29px}.nav-link{font-size:.77rem;font-weight:650;padding:12px 0;position:relative;white-space:nowrap}.nav-link:after{content:'';position:absolute;bottom:7px;left:0;right:100%;height:1px;background:var(--rust);transition:right .2s}.nav-link:hover:after,.nav-link.active:after{right:0}.header-actions{display:flex;align-items:center;gap:16px}.lang-switch{display:flex;align-items:center;gap:5px;border-left:1px solid var(--border);padding-left:14px}.lang-switch button{background:none;border:none;color:#a59a91;font-size:.68rem;padding:5px 4px;font-weight:800;letter-spacing:.04em}.lang-switch button.active{color:var(--ink)}.header-book{min-height:42px;padding:9px 18px;font-size:.73rem}.mobile-toggle{display:none;width:44px;height:44px;background:transparent;border:1px solid var(--border);align-items:center;justify-content:center;flex-direction:column;gap:5px}.mobile-toggle span{width:19px;height:1px;background:var(--ink)}
.hero{padding:68px 0 88px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:clamp(40px,7vw,110px)}.hero-copy{padding-top:14px}.hero h1{margin:29px 0 24px}.hero h1 em{display:block}.hero-copy .leading{max-width:470px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:31px;flex-wrap:wrap}.hero-proof{display:flex;align-items:center;gap:20px;margin-top:62px;border-top:1px solid var(--border);padding-top:25px}.proof-num{font-family:var(--serif);font-size:2rem;line-height:1}.proof-text{font-size:.77rem;color:var(--muted);line-height:1.5;max-width:150px}.proof-divider{height:38px;width:1px;background:var(--border)}.hero-visual{position:relative;height:570px;margin-right:22px}.image-frame{position:relative;overflow:hidden;background:linear-gradient(145deg,#e7d3c3,#af866d 65%,#705448);isolation:isolate}.image-frame:before{content:'S';position:absolute;z-index:0;font-family:var(--serif);color:#f8f2ec33;font-size:clamp(150px,24vw,420px);top:50%;left:50%;transform:translate(-50%,-54%)}.image-frame img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;transition:transform .7s}.image-frame:hover img{transform:scale(1.045)}.hero-main-img{position:absolute;inset:0 0 0 45px;border-radius:220px 220px 4px 4px;box-shadow:var(--shadow)}.hero-main-img img{object-position:center 33%}.hero-sub-img{position:absolute;bottom:-27px;left:-33px;width:196px;height:222px;border:8px solid var(--cream);box-shadow:0 10px 50px #28201924}.hero-caption{position:absolute;right:-32px;bottom:52px;z-index:3;padding:17px 19px;background:#f8f5ef;color:#533d31;box-shadow:0 12px 50px #2c1c0d22;transform:rotate(-3deg);font-family:var(--serif);font-size:1rem;font-style:italic}.round-stamp{position:absolute;left:-5px;top:40px;z-index:3;background:#f9f4ed;border:1px solid #dac9b9;width:104px;height:104px;display:grid;place-items:center;border-radius:100%;font-size:.59rem;font-weight:700;text-align:center;line-height:1.5;letter-spacing:.13em;transform:rotate(-16deg)}
.section{padding:112px 0}.section-soft{background:#f0eae2}.section-dark{background:#30241e;color:#fff9f1}.section-dark .eyebrow{color:#d2a283}.section-dark .leading,.section-dark .muted{color:#d8c7b8}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:43px}.section-head h2{max-width:700px;margin:18px 0 0}.section-head .leading{max-width:380px;margin:0}.center-heading{text-align:center;max-width:690px;margin:0 auto 50px}.center-heading h2{margin:18px 0}.center-heading .eyebrow{justify-content:center}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:var(--white);border:1px solid #eae1d8;padding:34px 27px;min-height:337px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-number{color:#c4a78f;font-size:.75rem;letter-spacing:.1em;font-weight:800}.service-icon{display:grid;place-items:center;width:55px;height:55px;background:#f3eae2;color:#a47457;font-size:1.7rem;margin:21px 0}.service-card h3{margin:4px 0 12px}.service-card p{color:var(--muted);font-size:.86rem;line-height:1.8;margin:0 0 20px}.service-card .text-link{margin-top:auto;align-self:flex-start}.special-row{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.special-card{padding:28px 30px;border:1px solid #ddcfc2;background:#f8f4ef;display:flex;align-items:center;justify-content:space-between;gap:20px}.special-card h3{font-size:1.28rem;margin:5px 0}.special-card p{font-size:.8rem;margin:0;color:var(--muted)}.special-card .arrow-round{width:45px;height:45px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;font-size:1.35rem}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,135px);align-items:center}.story-photo{position:relative;height:570px;margin:0 24px 28px 10px}.story-photo .image-frame{height:100%;width:100%}.story-photo .accent-block{position:absolute;background:#c59e81;width:54%;height:44%;z-index:0;right:-22px;bottom:-23px}.story-photo .image-frame{z-index:1}.story-quote{position:absolute;bottom:-31px;right:-25px;z-index:5;background:#fffdf8;padding:24px 28px;max-width:255px;box-shadow:var(--shadow);font-family:var(--serif);font-style:italic;font-size:1.23rem;line-height:1.5}.story-copy h2{margin:23px 0}.story-points{margin:30px 0 37px;padding:0;list-style:none}.story-points li{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border);font-size:.91rem}.story-points li:before{content:'✦';color:var(--copper)}
.portfolio-grid{display:grid;grid-template-columns:1.05fr .95fr 1fr;grid-template-rows:250px 250px;gap:16px}.portfolio-card{position:relative;overflow:hidden;cursor:pointer;border:0;background:#d6b6a1;padding:0;text-align:left;color:white}.portfolio-card:first-child{grid-row:span 2}.portfolio-card:nth-child(4){grid-column:span 2}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.portfolio-card:hover img{transform:scale(1.07)}.portfolio-card:after{content:'';position:absolute;inset:20% 0 0;background:linear-gradient(transparent,#1b100bb3);pointer-events:none}.portfolio-label{position:absolute;left:23px;bottom:20px;z-index:2;font-family:var(--serif);font-size:1.48rem;line-height:1.2}.portfolio-label small{font-family:var(--sans);font-size:.65rem;font-weight:700;letter-spacing:.15em;display:block;text-transform:uppercase;margin-bottom:5px}.portfolio-note{margin-top:20px;color:var(--muted);font-size:.76rem}.section-cta{display:flex;justify-content:center;margin-top:30px}
.rating-band{padding:45px 0;background:#e8ddd2}.rating-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.rating-message{font-family:var(--serif);font-size:clamp(1.5rem,2.8vw,2.5rem);letter-spacing:-.04em;line-height:1.35;max-width:700px}.rating-number{font-family:var(--serif);font-size:3.3rem;white-space:nowrap;line-height:1}.rating-number span{font-family:var(--sans);font-size:.7rem;display:block;color:#6d6157;letter-spacing:.06em}.rating-star{color:#ac7557;letter-spacing:6px;font-size:1.1rem}
.cta-section{background:#30241e;color:#fffaf3;padding:98px 0;text-align:center;position:relative;overflow:hidden}.cta-section:before,.cta-section:after{content:'S';font-family:var(--serif);font-size:440px;position:absolute;opacity:.045;top:50%;transform:translateY(-58%)}.cta-section:before{left:-75px}.cta-section:after{right:-75px}.cta-section h2{max-width:750px;margin:19px auto 21px}.cta-section p{color:#d4c5b9;margin:0 auto 30px;max-width:480px}.cta-section .button{position:relative}
.site-footer{background:#211a16;color:#f4eae1;padding:75px 0 24px}.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:45px}.footer-brand .logo-main{color:#f5e8db}.footer-brand .logo-small{color:#bc9075}.footer-brand p{max-width:260px;color:#ab9c91;font-size:.87rem;margin-top:25px}.footer-col h4{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#d9a989;margin:6px 0 21px}.footer-col a,.footer-col p{display:block;color:#c3b5aa;font-size:.84rem;line-height:2;margin:0}.footer-col a:hover{color:#fff}.footer-bottom{margin-top:60px;padding-top:20px;border-top:1px solid #4e4038;display:flex;align-items:center;justify-content:space-between;color:#a39488;font-size:.72rem;gap:20px}.footer-bottom a{color:#d5b69e}
.page-hero{padding:92px 0 80px;background:var(--sand);position:relative;overflow:hidden}.page-hero:after{content:'S';font-family:var(--serif);font-size:450px;color:#b89b8715;position:absolute;right:-40px;top:-155px;pointer-events:none}.page-hero h1{max-width:920px;font-size:clamp(3.5rem,6.6vw,6.7rem);margin:20px 0}.page-hero p{max-width:595px;font-size:1.06rem;color:#776a60}.page-breadcrumb{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:#94745f;font-weight:700}.page-breadcrumb a:hover{text-decoration:underline}.page-intro{padding:80px 0 25px}.page-intro h2{max-width:760px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:45px 65px}.service-detail{border-top:1px solid #cfc1b4;padding:26px 0 0;display:grid;grid-template-columns:55px 1fr;gap:20px}.service-detail .service-number{padding-top:9px}.service-detail h3{font-size:2.25rem;margin:0 0 14px}.service-detail p{max-width:430px;color:var(--muted)}.service-detail ul{padding-left:18px;margin:16px 0 0;font-size:.85rem;color:#78675b}.service-detail li{margin-bottom:7px}.info-banner{margin-top:65px;padding:30px 37px;background:#eadccf;display:flex;align-items:center;justify-content:space-between;gap:30px}.info-banner h3{margin:0 0 8px}.info-banner p{margin:0;color:#736357;font-size:.88rem;max-width:580px}.fine-note{font-size:.75rem;color:#8a7b6c;line-height:1.7}.gallery-top{padding:46px 0 0}.gallery-controls{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}.gallery-control{border:1px solid #d9c9ba;background:transparent;padding:10px 17px;font-size:.81rem;color:#68574b}.gallery-control.active,.gallery-control:hover{background:var(--dark);color:#fff;border-color:var(--dark)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-item{padding:0;border:0;cursor:pointer;position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#bea08a;text-align:left;color:white}.gallery-item:nth-child(3n+2){aspect-ratio:4/5}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.045)}.gallery-item:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#241814b0)}.gallery-item .portfolio-label{font-size:1.25rem}.gallery-help{border-top:1px solid var(--border);padding-top:28px;margin-top:35px}.lightbox{position:fixed;inset:0;background:#120c0bec;display:none;z-index:500;align-items:center;justify-content:center;padding:65px}.lightbox.open{display:flex}.lightbox-inner{max-width:min(1000px,100%);width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.lightbox-img{max-height:100%;max-width:100%;object-fit:contain}.lightbox-close,.lightbox-prev,.lightbox-next{background:#fbf6f0;border:none;color:#392922;position:absolute;z-index:4;width:45px;height:45px;display:grid;place-items:center;font-size:1.5rem}.lightbox-close{top:-47px;right:0}.lightbox-prev{left:-20px;top:50%}.lightbox-next{right:-20px;top:50%}.lightbox-caption{position:absolute;bottom:-37px;color:#fff;text-align:center;font-size:.78rem;letter-spacing:.1em}
.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.about-photo{height:580px}.about-photo img{object-position:50% 50%}.about-copy h2{margin:19px 0 27px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.value-card{border-top:1px solid #b99982;padding-top:25px}.value-card .value-index{font-family:var(--serif);font-style:italic;color:var(--copper);font-size:1.55rem}.value-card h3{margin:16px 0 10px}.value-card p{color:var(--muted);max-width:340px}
.contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:85px;align-items:start}.contact-details h2{margin:20px 0}.contact-line{padding:19px 0;border-bottom:1px solid var(--border)}.contact-line small{display:block;text-transform:uppercase;letter-spacing:.15em;color:var(--rust);font-size:.69rem;font-weight:700;margin-bottom:4px}.contact-line strong,.contact-line a{font-size:1.04rem;font-weight:550}.contact-line a:hover{color:var(--rust)}.contact-line p{margin:2px 0 0;color:var(--muted);font-size:.88rem}.contact-form{background:#fffdf9;padding:44px;box-shadow:var(--shadow);border:1px solid #eee4db}.contact-form h3{font-size:2.25rem;margin:0 0 10px}.contact-form>p{color:var(--muted);font-size:.9rem;margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:19px}.field.full{grid-column:span 2}.field label{font-size:.75rem;font-weight:750;letter-spacing:.025em}.field input,.field select,.field textarea{width:100%;padding:13px 13px;color:#352821;background:#faf7f2;border:1px solid #dcd2c9;border-radius:1px;outline:none;min-height:47px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#a27559;box-shadow:0 0 0 3px #b6806023}.field textarea{min-height:92px;resize:vertical}.check-label{display:flex;align-items:flex-start;gap:11px;font-size:.78rem;color:#62554b;margin:0 0 22px}.check-label input{margin-top:4px;accent-color:var(--rust)}.form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.form-message{font-size:.8rem;margin-top:12px;color:#9a493e}.form-message:empty{display:none}.schedule-box{background:#eee5db;padding:28px;margin-top:35px}.schedule-box h3{font-size:1.4rem}.schedule-row{display:flex;justify-content:space-between;border-bottom:1px solid #d8cabc;padding:10px 0;font-size:.84rem;gap:15px}.schedule-row:last-child{border:0}.map-section{padding:45px 0 110px}.map-wrapper{height:385px;background:#e4d7ca;position:relative;overflow:hidden}.map-wrapper iframe{height:100%;width:100%;border:0;filter:grayscale(.45)}.map-link{position:absolute;bottom:20px;left:20px;background:#fff;color:#382b22;padding:12px 17px;font-size:.81rem;font-weight:700;box-shadow:0 5px 23px #0002}.modal-overlay{position:fixed;inset:0;background:#241a17bb;display:none;align-items:center;justify-content:center;z-index:600;padding:24px}.modal-overlay.open{display:flex}.modal{background:var(--white);width:min(540px,100%);padding:42px;box-shadow:0 20px 90px #180f0c66;position:relative}.modal .modal-close{position:absolute;top:14px;right:16px;border:0;background:transparent;font-size:1.5rem}.modal h2{font-size:2.7rem;margin:18px 0 16px}.modal p{color:var(--muted);font-size:.91rem}.modal-summary{padding:22px;background:#f2ebe4;margin:20px 0}.modal-summary p{margin:0 0 7px;color:#493b31}.modal-summary p:last-child{margin:0}.demo-warning{background:#fff6dc;border-left:3px solid #cfae67;padding:13px 16px;color:#715c32;font-size:.8rem;margin-bottom:20px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:translateY(0)}.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:8px;z-index:900}.skip-link:focus{left:10px}
@media(max-width:1180px){.container{width:min(1120px,calc(100% - 60px))}.main-nav{gap:17px}.header-inner{gap:18px}.services-grid{grid-template-columns:repeat(2,1fr)}.hero-visual{height:510px}.hero-sub-img{width:155px;height:175px}.footer-grid{gap:28px}}@media(max-width:880px){.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:30px;border-bottom:1px solid var(--border);box-shadow:0 25px 40px #0001;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.nav-link{padding:14px 0;font-size:1rem}.mobile-toggle{display:flex}.header-book{display:none}.header-inner{min-height:84px}.logo-main{font-size:2.25rem}.hero{padding:50px 0 90px}.hero-grid{grid-template-columns:1fr;gap:55px}.hero-copy{padding:0}.hero-copy h1{max-width:740px}.hero-visual{height:600px;max-width:530px;margin-left:auto;margin-right:auto;width:90%}.story-grid,.about-columns{grid-template-columns:1fr;gap:65px}.story-photo{max-width:540px;height:550px}.portfolio-grid{grid-template-columns:1fr 1fr;grid-template-rows:270px 270px}.portfolio-card:first-child{grid-row:span 2}.portfolio-card:nth-child(4){grid-column:span 1}.section-head{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr;gap:45px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:5px 30px}.contact-details>.eyebrow,.contact-details>h2,.contact-details>.leading,.contact-details>.schedule-box{grid-column:span 2}.page-hero{padding:75px 0}.rating-inner{flex-wrap:wrap}.service-list{gap:30px}}@media(max-width:600px){.container{width:calc(100% - 38px)}.demo-strip{font-size:.57rem;padding:6px 10px}.header-inner{min-height:77px}.logo-main{font-size:2rem}.logo-small{font-size:.48rem}.lang-switch{padding-left:8px}.hero{padding:43px 0 65px}.hero h1{font-size:clamp(3.15rem,12vw,4.55rem);margin:20px 0}.hero-actions{gap:15px}.hero-proof{margin-top:38px;gap:14px}.proof-num{font-size:1.7rem}.proof-text{font-size:.68rem}.hero-visual{height:420px;max-width:410px}.hero-main-img{left:24px}.hero-sub-img{width:124px;height:140px;left:-18px;border-width:5px}.hero-caption{right:-8px;bottom:25px;padding:11px 12px;font-size:.8rem}.round-stamp{width:80px;height:80px;font-size:.47rem}.section{padding:75px 0}.section-head{gap:20px}.section-head h2{font-size:clamp(2.5rem,11vw,3.7rem)}.services-grid,.special-row,.service-list,.values-grid{grid-template-columns:1fr}.service-card{min-height:260px}.special-card{padding:23px}.story-photo{height:390px;margin:0 15px 32px 0}.story-quote{right:-12px;max-width:210px;padding:14px;font-size:1rem}.portfolio-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 230px 230px}.portfolio-card:first-child{grid-column:span 2;grid-row:span 1}.portfolio-card:nth-child(4){grid-column:span 2}.portfolio-label{left:13px;bottom:13px;font-size:1.08rem}.rating-band{padding:34px 0}.rating-message{font-size:1.65rem}.cta-section{padding:75px 0}.cta-section:before,.cta-section:after{display:none}.footer-grid{grid-template-columns:1fr 1fr;gap:34px}.footer-brand{grid-column:span 2}.footer-bottom{flex-direction:column;align-items:flex-start;margin-top:43px}.page-hero{padding:57px 0}.page-hero h1{font-size:3.6rem}.page-intro{padding:65px 0 0}.service-detail{grid-template-columns:38px 1fr;gap:12px}.service-detail h3{font-size:1.9rem}.info-banner{flex-direction:column;align-items:flex-start;padding:25px}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-item .portfolio-label{font-size:1rem}.gallery-controls{gap:7px}.gallery-control{padding:8px 12px;font-size:.74rem}.about-photo{height:390px}.contact-details{grid-template-columns:1fr}.contact-details>.eyebrow,.contact-details>h2,.contact-details>.leading,.contact-details>.schedule-box{grid-column:span 1}.contact-form{padding:28px 22px}.form-grid{grid-template-columns:1fr;gap:0}.field.full{grid-column:span 1}.map-section{padding:25px 0 70px}.map-wrapper{height:340px}.modal{padding:32px 22px}.lightbox{padding:65px 15px}.lightbox-prev{left:0}.lightbox-next{right:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Stable content visibility for previews, screenshots and browsers without motion support. */
.reveal{opacity:1;transform:none}
.image-frame,.portfolio-card,.gallery-item{background-image:url('placeholder.svg'),linear-gradient(145deg,#e7d3c3,#af866d 65%,#705448);background-size:cover;background-position:center}

/* Final presentation polish · 13 Nov 2026 */
:root{--focus-ring:#9f7153}
.site-header{position:sticky;top:0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(248,245,240,.95);box-shadow:0 7px 20px rgba(40,27,19,.025)}
:focus-visible{outline:3px solid var(--focus-ring)!important;outline-offset:3px}
section[id],.section[id],form[id]{scroll-margin-top:115px}
.image-frame img,.portfolio-card img,.gallery-item img{background:#ceb2a0}
.hero-main-img img{object-position:50% 30%}
.hero-sub-img img{object-position:50% 37%}
.hero-visual:before{content:'';position:absolute;inset:20px -23px -20px 77px;border:1px solid rgba(151,107,80,.25);border-radius:240px 240px 5px 5px;pointer-events:none}
.hero-visual .hero-caption{animation:float-caption 6s ease-in-out infinite}
@keyframes float-caption{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-8px)}}
.hero-copy{animation:enter-soft .7s ease-out both}
.hero-visual{animation:enter-soft .9s .12s ease-out both}
@keyframes enter-soft{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.gallery-item,.portfolio-card,.service-card{transition:box-shadow .25s ease,transform .25s ease}
.gallery-item:hover,.portfolio-card:hover{box-shadow:0 18px 36px rgba(54,30,14,.17)}
.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 36px rgba(54,30,14,.075)}
.contact-line a[href^="tel:"]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.copy-feedback{color:var(--rust);font-size:.82rem;margin-top:8px;min-height:1.2em}
.mobile-quick-actions{display:none}
@media(max-width:600px){
  .mobile-quick-actions{position:fixed;left:11px;right:11px;bottom:max(11px,env(safe-area-inset-bottom));z-index:170;display:grid;grid-template-columns:1fr 1.22fr;gap:8px;padding:8px;background:rgba(255,253,249,.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 38px rgba(42,27,16,.20);border:1px solid rgba(183,158,137,.35);border-radius:10px}
  .mobile-quick-actions a{display:flex;justify-content:center;align-items:center;padding:11px 6px;font-size:.85rem;font-weight:700;min-height:43px;border-radius:5px}
  .quick-call{background:#eee5da;color:#3a2b21}
  .quick-book{background:#30241e;color:#fff}
  .site-footer{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
  .hero-visual:before{right:-10px;left:48px;bottom:-10px}
  .hero-main-img img{object-position:50% 27%}
  .hero-visual .hero-caption{animation:none}
  .gallery-item{aspect-ratio:4/5}
  .gallery-item img{object-position:center}
  .form-actions{gap:12px}
  .modal .form-actions{gap:9px}
  .modal .form-actions .button{padding:11px 14px;min-height:47px;white-space:normal;font-size:.78rem}
}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-visual,.hero-visual .hero-caption{animation:none!important}}
