/* Craft Masters — premium, dependency-free design system */
:root{--ink:#4e3517;--ink2:#5b4228;--cream:#faf7f1;--paper:#fffdf9;--sand:#f1e8da;--line:#dfd2c1;--gold:#b88737;--muted:#756a59;--white:#fff;--max:1240px;--radius:5px;--ease:cubic-bezier(.2,.8,.2,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ab8450;outline-offset:4px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.14}h1,h2,.display,.wordmark{font-weight:400}.display,h1,h2,.serif{font-family:Georgia,'Times New Roman',serif}.shell{width:min(var(--max),calc(100% - 80px));margin:auto}.skip{position:absolute;top:-70px;left:14px;z-index:9999;background:white;padding:8px 16px}.skip:focus{top:12px}.microline{height:5px;background:linear-gradient(90deg,var(--ink) 0 68%,var(--gold) 68% 100%)}
.site-header{background:var(--paper);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(32,43,39,.09)}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:26px}.wordmark{display:inline-flex;flex-direction:column;gap:0;line-height:1.04;white-space:nowrap}.wordmark .brand-top{font-family:Georgia,'Times New Roman',serif;font-size:28px;letter-spacing:.01em;font-weight:600}.wordmark .brand-top span{color:#a77628}.wordmark .brand-bottom{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.35em;font-weight:700;opacity:.72;margin-top:6px}.main-nav{display:flex;align-items:center;gap:30px;font-size:12px;letter-spacing:.09em;font-weight:700;text-transform:uppercase}.main-nav a{transition:color .2s}.main-nav a:hover{color:#a77628}.header-right{display:flex;align-items:center;gap:18px}.lang{font-size:12px;font-weight:700;letter-spacing:.02em;min-width:48px;text-align:center;padding:8px 11px;border:1px solid var(--line)}.nav-toggle{display:none;background:none;border:0;padding:9px;width:40px;cursor:pointer}.nav-toggle i{display:block;width:22px;height:2px;background:var(--ink);margin:5px auto;transition:transform .2s,opacity .2s}.nav-toggle[aria-expanded=true] i:first-child{transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] i:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] i:last-child{transform:translateY(-7px) rotate(-45deg)}.mobile-nav{display:none}
.hero{min-height:624px;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);background:var(--ink);color:var(--cream);overflow:hidden}.hero-copy{padding:86px max(36px,calc((100vw - var(--max))/2)) 74px max(40px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center;position:relative}.hero-copy::after{content:'';position:absolute;width:105px;height:105px;right:35px;bottom:25px;border:1px solid rgba(191,170,128,.25);border-radius:50%;pointer-events:none}.eyebrow{display:inline-flex;align-items:center;gap:13px;text-transform:uppercase;letter-spacing:.2em;font-weight:700;font-size:10px;color:#8e7959}.eyebrow::before{content:'';height:1px;width:25px;background:currentColor;flex:none}.eyebrow.light{color:#e4c38b}.hero h1{font-size:clamp(45px,4.5vw,76px);letter-spacing:-.055em;max-width:600px;margin:30px 0 25px}.hero h1 em{font-weight:400;color:#f2d6a4;display:block;font-style:italic}.hero-desc{color:#e9dbca;max-width:410px;font-size:15px;line-height:1.85}.hero-scroll{display:inline-flex;align-items:center;gap:17px;align-self:flex-start;margin-top:40px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.round-arrow{width:44px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:inline-grid;place-items:center;font-size:22px;transition:transform .25s,background .25s}.hero-scroll:hover .round-arrow{transform:translateY(5px);background:rgba(255,255,255,.1)}.hero-photo{position:relative;min-width:0;min-height:624px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 52%;position:absolute;inset:0}.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(32,43,39,.1),transparent 45%)}.hero-photo-label{position:absolute;bottom:28px;right:28px;z-index:1;background:rgba(255,253,250,.95);color:var(--ink);padding:15px 23px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.trust-strip{border-bottom:1px solid var(--line);background:var(--paper)}.trust-inner{display:grid;grid-template-columns:repeat(3,1fr);min-height:100px;align-items:center}.trust-item{padding:18px 25px;border-left:1px solid var(--line);display:flex;align-items:center;gap:16px}.trust-item:first-child{border-left:0;padding-left:0}.trust-item b{font-size:18px;font-family:Georgia,serif;font-weight:400;color:#ad803b}.trust-item span{font-size:12px;letter-spacing:.03em;color:#67533a}
.section{padding:104px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:43px}.section-head h2{font-size:clamp(37px,4vw,56px);letter-spacing:-.035em;max-width:610px;margin-top:17px}.section-head p{max-width:355px;color:#746654;font-size:14px;line-height:1.85}.intro{background:var(--paper)}.intro-layout{display:grid;grid-template-columns:1.07fr .93fr;gap:11%;align-items:center}.intro h2{font-size:clamp(39px,4.1vw,66px);letter-spacing:-.04em;margin:24px 0}.intro h2 em{color:#9f702d;font-weight:400}.intro-copy{padding-top:35px}.intro-copy p{font-size:16px;line-height:1.95;color:#62503c}.intro-copy p+p{margin-top:18px}.intro-bottom{border-top:1px solid var(--line);margin-top:26px;padding-top:17px;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#9c6c29}
.services{background:var(--cream)}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 28px}.service-card{background:var(--paper);border:1px solid #e8dccb;overflow:hidden;transition:box-shadow .25s var(--ease),transform .25s var(--ease)}.service-card:hover{transform:translateY(-3px);box-shadow:0 20px 38px rgba(20,25,19,.055)}.service-media{aspect-ratio:16/10;overflow:hidden;background:#eee5d7}.service-media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s var(--ease)}.service-card:hover img{transform:scale(1.035)}.service-card-content{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:24px 26px 26px;align-items:start}.service-index{font-size:11px;color:#a67a3b;font-weight:700;padding-top:4px}.service-card h3{font-size:25px;font-family:Georgia,serif;font-weight:400;letter-spacing:-.025em;margin:0 0 8px}.service-card p{font-size:13px;color:#756a59;line-height:1.75;max-width:455px}
.editorial-band{background:var(--ink);color:var(--paper);padding:55px 0}.editorial-band .shell{display:flex;justify-content:space-between;align-items:center;gap:25px}.editorial-band p{font-family:Georgia,serif;font-size:clamp(25px,3vw,39px);line-height:1.25;max-width:740px}.editorial-band em{color:#d3c099}.editorial-band span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#bdb8ad;white-space:nowrap}
.work{background:var(--sand)}.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:27px}.filterbar button{border:1px solid #d5c4ad;background:transparent;color:#65533c;cursor:pointer;padding:9px 19px;font-size:12px;transition:background .2s,color .2s}.filterbar button[aria-pressed=true],.filterbar button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.gallery-card{background:var(--paper);min-width:0}.gallery-card[hidden]{display:none!important}.gallery-photo{aspect-ratio:3/2;overflow:hidden;background:#eee5d7;display:grid;place-items:center}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease)}.gallery-card:hover img{transform:scale(1.035)}.gallery-card.is-door .gallery-photo{background:#e7e3da}.gallery-card.is-door img{object-fit:contain}.gallery-caption{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;gap:12px}.gallery-caption strong{font-size:14px;font-weight:600}.gallery-caption span{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#977144}.more-note{color:#716451;font-size:13px;margin-top:25px}
.studio{background:var(--paper)}.studio-grid{display:grid;grid-template-columns:1.07fr .93fr;gap:8%;align-items:center}.studio-photo{aspect-ratio:16/11;overflow:hidden;position:relative}.studio-photo img{width:100%;height:100%;object-fit:cover}.studio-photo .photo-note{position:absolute;bottom:0;left:0;padding:14px 23px;background:var(--ink);color:white;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.studio-copy h2{font-size:clamp(36px,4vw,56px);letter-spacing:-.035em;margin:22px 0}.studio-copy>p{font-size:15px;line-height:1.85;color:#766a5a}.process{margin-top:28px;border-top:1px solid var(--line)}.process-row{display:grid;grid-template-columns:35px 1fr;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.process-row small{color:#af7e34;font-size:12px}.process-row h3{font-size:16px;font-weight:700;margin-bottom:4px}.process-row p{font-size:13px;color:#756855}
.faq{background:var(--cream)}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}.faq h2{font-size:clamp(38px,4vw,52px);margin-top:22px;letter-spacing:-.04em}.faq-list details{border-bottom:1px solid #d9d5cb}.faq-list details:first-child{border-top:1px solid #d9d5cb}.faq-list summary{list-style:none;cursor:pointer;font-weight:600;font-size:15px;padding:22px 32px 22px 0;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:2px;top:17px;font-size:25px;color:#aa7b32;font-weight:400;line-height:1}.faq-list details[open] summary::after{content:'−'}.faq-list details p{font-size:14px;line-height:1.8;color:#766a5a;padding:0 42px 22px 0}
.visit{padding:65px 0;background:#e9dac3}.visit-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.visit h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(30px,3.4vw,44px);margin:13px 0}.visit p{font-size:14px;color:#626d64;max-width:560px}.map-link{display:inline-flex;align-items:center;gap:13px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid currentColor;padding-bottom:8px;font-weight:700;white-space:nowrap}.map-link span{font-size:22px;font-weight:400}
.footer{background:#2e2012;color:#eff0e9;padding:66px 0 108px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start}.footer .wordmark .brand-top{font-size:35px}.footer .wordmark .brand-bottom{color:#d3c099;opacity:1}.footer-desc{margin-top:18px;color:#d8c6aa;font-size:13px;max-width:380px}.footer-nav{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#d4d9d2}.footer-nav a:hover{text-decoration:underline}.footer-bottom{margin-top:45px;padding-top:23px;border-top:1px solid #674d2a;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#d8c6aa;font-size:11px;letter-spacing:.04em}
/* The only direct Call and WhatsApp actions on each page */
.contact-dock{position:fixed;bottom:20px;right:22px;z-index:40;display:flex;align-items:center;gap:8px;padding:8px;background:rgba(255,253,250,.96);border:1px solid rgba(32,43,39,.12);box-shadow:0 10px 38px rgba(15,24,17,.18);backdrop-filter:blur(10px);border-radius:100px}.dock-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;font-size:13px;font-weight:700;border-radius:50px;white-space:nowrap;transition:transform .2s}.dock-btn:hover{transform:translateY(-2px)}.dock-btn svg{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dock-call{background:#312211;color:white}.dock-whatsapp{background:#1c8c5b;color:white}
@media(max-width:1090px){.shell{width:min(var(--max),calc(100% - 50px))}.main-nav{gap:16px}.hero-copy{padding:74px 48px}.hero h1{font-size:clamp(44px,5.1vw,65px)}.section{padding:83px 0}}
@media(max-width:790px){.shell{width:calc(100% - 38px)}.header-inner{min-height:73px}.wordmark .brand-top{font-size:24px}.main-nav{display:none}.nav-toggle{display:block}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:13px 19px 23px;border-top:1px solid var(--line);box-shadow:0 12px 20px rgba(0,0,0,.07)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;gap:0}.mobile-nav a{display:block;padding:12px 6px;border-bottom:1px solid var(--line);font-size:14px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:61px 28px 58px;min-height:430px}.hero h1{max-width:600px;font-size:clamp(45px,8vw,66px)}.hero-photo{min-height:360px;height:45vw;max-height:550px}.hero-photo img{position:absolute}.hero-photo-label{bottom:18px;right:19px}.trust-inner{grid-template-columns:1fr 1fr 1fr}.trust-item{padding:14px 12px;gap:9px}.trust-item span{font-size:10px}.section{padding:74px 0}.intro-layout,.studio-grid{grid-template-columns:1fr;gap:25px}.intro-copy{padding-top:0}.studio-grid{gap:36px}.faq-layout{grid-template-columns:1fr;gap:32px}.editorial-band .shell{display:block}.editorial-band span{display:block;margin-top:23px}.gallery{gap:17px}}
@media(max-width:600px){html{scroll-padding-top:75px}.shell{width:calc(100% - 32px)}.header-inner{min-height:70px}.wordmark .brand-top{font-size:22px}.wordmark .brand-bottom{font-size:8px}.header-right{gap:7px}.lang{padding:7px 9px}.hero-copy{padding:52px 24px 46px;min-height:430px}.hero-copy::after{display:none}.hero h1{font-size:clamp(43px,11vw,58px);margin:24px 0 18px}.hero-desc{font-size:14px}.hero-scroll{margin-top:28px}.hero-photo{height:265px;min-height:265px}.hero-photo-label{font-size:9px;padding:10px 13px;bottom:12px;right:12px}.trust-inner{grid-template-columns:1fr;min-height:0;padding-top:10px;padding-bottom:10px}.trust-item{border-left:0;border-bottom:1px solid var(--line);padding:10px 0}.trust-item:last-child{border-bottom:0}.trust-item span{font-size:12px}.section{padding:67px 0}.section-head{display:block;margin-bottom:30px}.section-head h2{font-size:40px}.section-head p{margin-top:14px}.intro h2{font-size:43px}.intro-copy p{font-size:14px}.service-grid,.gallery{grid-template-columns:1fr;gap:20px}.service-media{aspect-ratio:16/10}.service-card-content{padding:20px 18px 21px;grid-template-columns:27px 1fr;gap:9px}.service-card h3{font-size:23px}.gallery-photo{aspect-ratio:3/2}.editorial-band{padding:41px 0}.editorial-band p{font-size:30px}.studio-copy h2{font-size:42px}.faq h2{font-size:42px}.visit-inner,.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}.visit{padding:53px 0}.footer{padding:57px 0 112px}.footer-nav{gap:13px 20px}.contact-dock{left:12px;right:12px;bottom:9px;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px}.dock-btn{padding:0 12px;min-height:48px}.hero-photo img{object-position:center 49%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Brand identity: the supplied Craft Masters logo and its deep walnut / antique gold palette */
:root{--ink:#4e3517;--ink2:#5b4228;--cream:#faf7f1;--paper:#fffdf9;--sand:#f1e8da;--line:#dfd2c1;--gold:#ae7b2b;--muted:#756a59}
.microline{background:linear-gradient(90deg,#4e3517 0 43%,#ad7b2c 43% 81%,#080808 81%)}
.site-header{background:#fffdf9;border-bottom:1px solid #e6dac8}
.header-inner{min-height:106px}
.wordmark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:216px;max-width:100%;padding:0;white-space:normal}
.brand-logo{display:block;width:100%;height:auto;aspect-ratio:2.46/1;object-fit:contain}
.footer .wordmark{width:228px;background:#fffdf9;padding:11px 14px;border-radius:2px}
.main-nav a:hover{color:#a77628}
.lang{border-color:#dbc5a3;background:#fbf4e9}
.hero{background:#4e3517}
.hero h1 em,.editorial-band em{color:#f1cc8a}
.hero-photo{background:#eee5d7}
.hero-photo img{object-fit:contain;object-position:center}
.hero-photo::after{background:none}
.hero-photo-label{background:rgba(255,253,249,.95);color:#4e3517}
.trust-strip{background:#fffdf9}
.trust-item b,.service-index{color:#a77628}
.service-media,.gallery-photo{background:#f6f1e9}
.service-media{aspect-ratio:3/2;display:grid;place-items:center}
.service-media img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important}
.gallery-photo{aspect-ratio:3/2;display:grid;place-items:center}
.gallery-photo a{display:block;width:100%;height:100%;cursor:zoom-in}
.gallery-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important}
.gallery-card:hover img{filter:brightness(.985)}
.service-card{border-color:#e7dccc}
.service-grid{gap:25px}
.service-count{display:block;align-self:flex-end;white-space:nowrap;color:#8b6d42;font-size:12px;letter-spacing:.09em;text-transform:uppercase;padding-bottom:4px}
.show-all{display:block;margin:34px auto 0;padding:14px 34px;border:1px solid #6c4926;background:#4e3517;color:white;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.03em}
.show-all:hover{background:#6b4b29}
.project-lightbox{position:fixed;inset:0;max-width:min(95vw,1100px);max-height:92vh;width:auto;border:0;padding:50px 18px 20px;background:#fffdf9;box-shadow:0 30px 120px rgba(0,0,0,.4);color:#4e3517}
.project-lightbox::backdrop{background:rgba(18,12,7,.85)}
.project-lightbox img{display:block;max-width:100%;width:auto;max-height:calc(92vh - 120px);height:auto;margin:auto;object-fit:contain}
.project-lightbox p{text-align:center;padding-top:14px;font-size:14px}
.lightbox-close{position:absolute;top:4px;right:12px;background:none;border:0;color:#4e3517;cursor:pointer;font-size:37px;line-height:1.1}
.dock-call{background:#241b11}
.dock-whatsapp{background:#18864b}
@media(max-width:790px){.header-inner{min-height:84px}.wordmark{width:174px}.service-count{display:none}}
@media(max-width:600px){.header-inner{min-height:77px}.wordmark{width:150px}.hero-photo{height:300px;min-height:300px}.gallery-photo{aspect-ratio:3/2}.service-media{aspect-ratio:3/2}.footer .wordmark{width:198px}.lightbox-close{right:9px}}


/* v3 - Consistent, responsive project photographs; never crop photos. */
.gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.gallery-card { width:100%; min-width:0; margin:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid #e5d8c6; }
.gallery-card[hidden] { display:none!important; }
.gallery-photo, .gallery-card.is-door .gallery-photo {
  width:100%; height:auto; aspect-ratio:1/1; background:#f8f5ef;
  overflow:hidden; display:block;
}
.gallery-photo a { display:block; width:100%; height:100%; }
.gallery-photo img, .gallery-card.is-door img {
  display:block; width:100%; height:100%; aspect-ratio:1/1;
  object-fit:contain; object-position:center center; transform:none!important;
}
.gallery-caption { min-width:0; flex:1; display:block; padding:13px 14px; }
.gallery-caption strong { display:block; overflow-wrap:anywhere; font-size:13px; line-height:1.5; }
.gallery-caption span { display:block; margin-top:4px; font-size:11px; }
.service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.service-card { min-width:0; width:100%; }
.service-media { width:100%; height:auto; aspect-ratio:4/3; overflow:hidden; background:#f8f5ef; }
.service-media img { width:100%; height:100%; aspect-ratio:4/3; object-fit:contain; transform:none!important; }
.studio-photo { aspect-ratio:4/3; background:#f8f5ef; }
.studio-photo img { object-fit:contain; }
.shell { max-width:100%; }
.section-head,.service-card-content,.gallery-caption { min-width:0; }
@media (max-width:1050px) { .gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media (max-width:800px) {
  .gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
}
@media (max-width:600px) {
  .gallery { grid-template-columns:minmax(0,1fr); gap:18px; }
  .gallery-caption { padding:10px 9px; }
  .gallery-caption strong { font-size:12px; }
  .gallery-caption span { font-size:10px; }
  .service-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .service-media { aspect-ratio:4/3; }
  .service-media img { aspect-ratio:4/3; }
  .section-head { flex-wrap:wrap; }
}

/* Mobile gallery: full-width natural image size */
@media (max-width: 600px) {

  .gallery-grid,
  .gallery {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px;
  }

  .gallery-item,
  .gallery-photo {
    width: 100%;
    height: auto !important;
    aspect-ratio: auto !important;
    overflow: hidden;
  }

  .gallery-item img,
  .gallery-photo img {
    display: block;
    width: 100%;
    height: auto !important;
    max-height: none;
    aspect-ratio: auto !important;
    object-fit: contain;
  }

}
