/* Makura Groups | One consolidated development stylesheet. */


/* === Foundation and layout === */
:root{--ink:#242320;--muted:#646058;--gold:#d8a84e;--gold-bright:#f1c86f;--gold-soft:#fff0d0;--cream:#fffaf3;--line:#e7dfd2;--green:#0d3025;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}body.lightbox-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.sprite{position:absolute;width:0;height:0;overflow:hidden}.container{width:min(1220px,calc(100% - 80px));margin-inline:auto}.section{padding:62px 0}.eyebrow{font-size:10px;letter-spacing:4px;font-weight:700;color:#a16e2e;margin:0 0 8px}.section h2,.about-content h2,.reel-copy h2,.booking-content h2{font-family:var(--serif);font-size:clamp(28px,3vw,43px);font-weight:500;line-height:1.18;margin:0;letter-spacing:-.9px}.btn{min-height:42px;padding:11px 19px;display:inline-flex;align-items:center;justify-content:center;gap:11px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid transparent;border-radius:1px;transition:background .2s,color .2s,transform .2s,border-color .2s}.btn:hover{transform:translateY(-2px)}.btn svg{width:15px;height:15px}.btn-gold{background:linear-gradient(110deg,#e2af58,#f2cb79);color:#2b2115}.btn-gold:hover{background:#d6a04c}.btn-outline{background:#fffdf9b8;border-color:#c5a16a;color:#241c13}.btn-outline:hover{background:var(--gold-soft)}.btn-small{min-height:36px;padding:8px 12px;font-size:11px}.site-header{position:relative;z-index:10;background:#fffcf7;box-shadow:0 1px 8px #271c100a;transition:box-shadow .2s}.site-header.scrolled{box-shadow:0 5px 24px #4e392619}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:83px}.brand{display:block;flex-shrink:0}.brand img{width:153px;height:65px;object-fit:contain;mix-blend-mode:multiply}.main-nav{display:flex;gap:31px;align-items:center;margin-left:auto}.main-nav a{font-size:12px;font-weight:700;transition:color .2s}.main-nav a:hover,.main-nav .active{color:#ac7a34}.nav-actions{display:flex;align-items:center;gap:14px}.nav-cta{margin:0 5px 0 12px}.social-link{display:grid;place-items:center;color:#b2803b}.social-link svg{width:17px;height:17px}.social-link:hover{color:var(--ink)}#menu-toggle{display:none;border:0;background:transparent;color:#9b742f;padding:8px}.hero{height:530px;position:relative;isolation:isolate;background:#fcf4e9;overflow:hidden}.hero-photo{position:absolute;z-index:-2;inset:0 0 0 auto;width:73%;background-image:none;background-position:center center;background-size:cover}.hero-fade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#fffaf3 0%,#fffaf3 28%,#fffaf3ef 36%,#fffaf3b2 44%,#fffaf322 57%,transparent 75%)}.hero-inner{height:100%;display:flex;align-items:center}.hero-copy{padding:19px 0 0;max-width:580px}.hero-copy .eyebrow{letter-spacing:5px;color:#70512d;font-size:12px;margin-bottom:10px}.hero h1{font-family:var(--serif);font-size:clamp(42px,5.4vw,76px);font-weight:500;line-height:1.07;letter-spacing:-2px;margin:0 0 18px}.hero h1 em{font-weight:400}.hero-lead{font-size:15px;color:#3e3c39;line-height:1.7;margin:0 0 24px}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}.hero-index{display:flex;align-items:center;gap:11px;margin-top:52px;font-size:10px;letter-spacing:1px;color:#8e826f}.hero-index span:first-child{color:#3e3327}.hero-index-line{width:38px;height:1px;background:var(--gold)}.botanical{position:relative;isolation:isolate;overflow:hidden}.botanical:before,.botanical:after{content:'';pointer-events:none;position:absolute;width:150px;height:250px;z-index:-1;opacity:.52;background-image:url('../img/botanical.svg');background-repeat:no-repeat;background-size:contain}.botanical:before{left:-65px;top:28%;transform:rotate(-18deg)}.botanical:after{right:-75px;bottom:-55px;transform:rotate(160deg)}.section-intro,.portfolio-head,.instagram-head{display:flex;justify-content:space-between;align-items:end;gap:25px}.section-intro>p{text-align:right;font-size:12px;line-height:1.7;color:#4b4842;margin:0 0 6px}.services-section{background:#fff;padding-top:57px;padding-bottom:70px}.services-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:19px;margin-top:27px}.service-card{position:relative;display:block;background:#fff;min-width:0;box-shadow:0 4px 16px #211c1812;border:1px solid #f0ebe3;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 10px 24px #211c1822}.service-img{aspect-ratio:1.15/1;overflow:hidden;background:#eee5da}.service-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.service-card:hover img{transform:scale(1.055)}.service-icon{position:absolute;top:calc((100vw - 80px - 76px)/5/1.15 - 17px);left:15px;width:36px;height:36px;display:grid;place-items:center;background:#fff;border-radius:50%;color:#b9853c;box-shadow:0 2px 8px #211c1814}.service-icon svg{width:18px;height:18px}.service-body{padding:22px 14px 17px;min-height:111px}.service-body h3{font-size:14px;line-height:1.2;margin:0 0 9px}.service-body p{font-size:11px;line-height:1.48;color:#625f5c;margin:0}.about-section{display:grid;grid-template-columns:1fr 1fr;background:#fffaf3;min-height:415px}.about-image{min-height:415px}.about-image img{height:100%;width:100%;object-fit:cover}.about-panel{display:flex;align-items:center;background:linear-gradient(115deg,#fffdf9,#fff7ed);padding:40px 8vw 40px 6vw}.about-content{max-width:540px}.about-content h2{margin-bottom:18px}.about-content>p:not(.eyebrow){color:#514e48;line-height:1.65;font-size:13px;margin:0 0 19px}.stats{display:flex;gap:28px;margin-top:26px}.stats>div{min-width:95px;padding-right:16px;border-right:1px solid #ddd2c3}.stats>div:last-child{border:0}.stats strong{display:block;font:500 27px var(--serif);color:#987036}.stats span{display:block;font-size:11px}.portfolio-section{padding-bottom:52px}.filter-list{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end}.filter-button{padding:9px 12px;background:#fff;border:1px solid #eee5d9;color:#44403a;font-size:11px;transition:background .2s}.filter-button:hover,.filter-button.selected{background:#e4b15e;color:#24180b;border-color:#e4b15e}.portfolio-grid{display:grid;grid-template-columns:1.25fr 1fr .65fr .9fr 1fr;grid-template-rows:138px 115px;gap:10px;margin-top:23px}.portfolio-item{border:0;padding:0;position:relative;overflow:hidden;background:#eee5d8;min-width:0;min-height:0}.portfolio-item[hidden]{display:none!important}.portfolio-item.tall{grid-row:span 2}.portfolio-item.wide{grid-column:span 2}.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.portfolio-item:hover img{transform:scale(1.06)}.portfolio-overlay{position:absolute;inset:auto 0 0;padding:30px 10px 12px;display:flex;align-items:center;justify-content:space-between;gap:5px;color:#fff;font-size:11px;font-weight:700;background:linear-gradient(transparent,#1e140cbb);opacity:0;transition:opacity .2s;text-align:left}.portfolio-item:hover .portfolio-overlay,.portfolio-item:focus-visible .portfolio-overlay{opacity:1}.portfolio-overlay svg{width:15px;height:15px}.portfolio-item.show-extra{display:block;grid-column:span 1;min-height:145px}.portfolio-grid:has(.show-extra){grid-template-rows:138px 115px auto}.center-cta{text-align:center;margin-top:20px}.center-cta button[hidden]{display:none}.process-section{padding-top:48px;padding-bottom:55px;background:#fffaf5}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:27px;margin-top:31px}.step{display:flex;gap:15px;position:relative}.step:not(:last-child):after{content:'';height:1px;width:20px;background:#cfa057;position:absolute;right:-20px;top:22px}.step-icon{width:59px;height:59px;border:1px solid #d1a055;border-radius:50%;display:grid;place-items:center;color:#bf8d40;flex-shrink:0;background:#fff}.step-icon svg{width:22px;height:22px}.step b{font:500 24px var(--serif);color:#b5823a}.step h3{font-size:13px;line-height:1.25;margin:2px 0 6px}.step p{font-size:11px;color:#676057;line-height:1.6;margin:0}.showreel-section{background:#fffaf3;padding:24px 0}.showreel-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center}.reel-image{height:245px;position:relative;overflow:hidden;background:#ede9e3}.reel-image img{width:100%;height:100%;object-fit:cover}.play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;border:2px solid var(--gold-bright);width:62px;height:62px;border-radius:50%;color:var(--gold-bright);background:#1515158a;transition:background .2s}.play-button:hover{background:#151515e0}.play-button svg{fill:currentColor;width:21px;height:21px}.reel-copy h2{margin-bottom:13px}.reel-copy>p:not(.eyebrow){line-height:1.6;color:#5f5950;font-size:13px;margin:0 0 17px}.testimonial-section{padding-top:48px;padding-bottom:24px}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.review-card{border:1px solid #eee7dc;padding:19px 22px;box-shadow:0 4px 13px #160f090b}.stars{color:#c68e3e;letter-spacing:3px}.review-card p{font-size:12px;line-height:1.6;color:#4f4a42}.review-card strong{display:block}.review-card span{font-size:11px;color:#756c62}.instagram-section{padding-top:39px;padding-bottom:35px}.instagram-head h2{font-size:26px}.social-gallery{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:10px;margin-top:21px}.social-tile{padding:0;border:0;aspect-ratio:1;background:#f0e7dc;overflow:hidden}.social-tile img{height:100%;width:100%;object-fit:cover;transition:transform .3s}.social-tile:hover img{transform:scale(1.06)}.booking-section{display:grid;grid-template-columns:39% minmax(0,1fr) 220px;align-items:stretch;background:#fffdf9;min-height:366px}.booking-photo{min-height:366px}.booking-photo img{width:100%;height:100%;object-fit:cover}.booking-content{padding:33px 24px 34px 37px}.booking-content h2{font-size:31px;margin-bottom:17px}.booking-content .eyebrow{margin-bottom:5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.form-grid input,.form-grid textarea,.form-grid select{width:100%;min-width:0;border:1px solid #ded7cf;background:#fff;border-radius:0;padding:10px 11px;font-size:12px;color:#352e26;outline-offset:2px}.form-grid textarea{grid-column:1/-1;resize:vertical;min-height:77px}.form-grid select:invalid{color:#817a70}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:var(--gold)}.submit-btn{border:0;width:100%;margin-top:9px}.contact-aside{display:flex;flex-direction:column;justify-content:center;gap:15px;padding:28px 25px 28px 4px}.contact-aside h3{font-size:13px;margin:0}.contact-aside>p{font-size:12px;line-height:1.6;color:#685d52}.contact-method{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700}.contact-method small{display:block;font-size:10px;font-weight:400;color:#6f665c;margin-top:3px;overflow-wrap:anywhere}.contact-icon{width:32px;height:32px;flex:none;background:#202420;color:#e4b768;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:10px}.contact-icon svg{width:16px;height:16px}.contact-icon.whatsapp{background:#28a745;color:#fff}.form-alert{padding:10px;margin:0 0 10px;font-size:12px;border:1px solid}.form-alert.success{background:#eff9ef;border-color:#afd2ae;color:#286528}.form-alert.error{background:#fff0ed;border-color:#e1b4a5;color:#9b322a}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.footer{color:#e6dfd1;background:linear-gradient(120deg,#0b2e23,#11392c)}.footer-main{padding:39px 0;display:grid;grid-template-columns:1.2fr 1fr 1.15fr;gap:65px}.footer-brand img{width:203px;height:auto;max-height:91px;object-fit:contain}.footer-col h3{font-size:13px;color:#edbe69;margin:0 0 13px}.footer-links{display:grid;grid-template-columns:repeat(2,max-content);column-gap:35px;row-gap:8px}.footer a,.footer p{color:#f4ead6;font-size:11px;margin:0}.footer a:hover{color:#f8ca7a}.footer-col>a,.footer-col>p{display:flex;gap:10px;align-items:center;margin-bottom:11px}.footer-col svg{width:15px;height:15px;color:#e3b35d}.footer-social{display:flex;gap:16px;margin-top:16px}.footer-social svg{width:18px;height:18px}.footer-bottom{padding:15px 0;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ffffff25;color:#d6d0c5;font-size:10px}.lightbox{position:fixed;inset:0;background:#12100ef0;z-index:50;display:none;align-items:center;justify-content:center;flex-direction:column;padding:52px 15px 20px}.lightbox.open{display:flex}.lightbox-image{max-width:min(90vw,1000px);max-height:79vh;width:auto;height:auto;object-fit:contain;box-shadow:0 0 40px #0007}.lightbox-caption{font-size:13px;color:#fff}.lightbox-close{position:absolute;right:24px;top:21px;color:white;border:1px solid #ffffff55;background:#181818;padding:9px;display:grid;place-items:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1300px){.service-icon{top:calc((1220px - 76px)/5/1.15 - 17px)}}
@media(max-width:1050px){.container{width:min(100% - 44px,1220px)}.main-nav{gap:16px}.nav-wrap{gap:14px}.nav-actions{gap:7px}.nav-cta{margin:0 3px}.service-icon{top:calc((100vw - 44px - 76px)/5/1.15 - 17px)}.services-grid{gap:15px}.booking-section{grid-template-columns:36% minmax(0,1fr) 176px}.booking-content{padding:30px 20px}.contact-aside{padding:24px 12px 24px 0}.footer-main{gap:30px}}
@media(max-width:800px){.container{width:calc(100% - 38px)}.nav-wrap{min-height:70px}.brand img{width:136px;height:59px}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 24px 22px;background:#fffcf7;box-shadow:0 14px 18px #2417061f;flex-direction:column;align-items:stretch;gap:5px}.main-nav.open{display:flex}.main-nav a{padding:11px 7px;font-size:14px}.nav-actions .social-link{display:none}.nav-cta{min-height:37px;padding:9px 12px;font-size:11px}.nav-actions #menu-toggle{display:grid}.hero{height:490px}.hero-photo{width:75%}.hero-fade{background:linear-gradient(90deg,#fffaf3 0%,#fffaf3ef 25%,#fffaf3ac 41%,transparent 84%)}.hero h1{font-size:50px}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-icon{top:auto;transform:translateY(-50%)}.service-body{padding-top:21px}.section-intro{align-items:start}.about-panel{padding:30px}.portfolio-head{align-items:start;flex-direction:column}.filter-list{justify-content:flex-start}.steps{grid-template-columns:repeat(2,1fr);row-gap:25px}.step:nth-child(2):after{display:none}.booking-section{grid-template-columns:35% 65%}.booking-content{padding:25px}.contact-aside{grid-column:1/-1;display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap;padding:18px 24px;gap:20px;background:#fcf6ec}.contact-aside h3{flex-basis:100%;text-align:center}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:580px){.container{width:calc(100% - 30px)}.site-header .brand img{width:125px;height:54px}.nav-wrap{min-height:65px}.nav-cta{padding:8px 10px}.hero{height:610px}.hero-photo{width:100%;height:57%;inset:auto 0 0;background-position:center 44%}.hero-fade{background:linear-gradient(180deg,#fffaf3 0%,#fffaf3 24%,#fffaf3e7 43%,transparent 68%)}.hero-inner{align-items:flex-start}.hero-copy{padding-top:47px}.hero h1{font-size:clamp(40px,10vw,53px);line-height:1.09}.hero-lead{font-size:13px;margin-bottom:15px}.hero-index{margin-top:21px}.section{padding:43px 0}.section h2,.about-content h2,.reel-copy h2{font-size:27px}.section-intro{display:block}.section-intro>p{text-align:left;margin-top:13px;font-size:12px}.desktop-break{display:none}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:21px}.service-img{aspect-ratio:1.13/1}.service-icon{width:31px;height:31px;left:11px}.service-icon svg{width:16px;height:16px}.service-body{padding:18px 11px 15px;min-height:112px}.service-body h3{font-size:12px}.service-body p{font-size:10px}.about-section{display:block}.about-image{height:265px;min-height:0}.about-panel{padding:38px 20px}.about-content>p:not(.eyebrow){font-size:12px}.stats{gap:17px}.portfolio-head{gap:18px}.filter-list{flex-wrap:nowrap;overflow-x:auto;width:calc(100vw - 30px);padding-bottom:7px}.filter-button{white-space:nowrap;flex-shrink:0}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:145px;gap:8px;margin-top:14px}.portfolio-item.tall{grid-row:span 2}.portfolio-item.wide{grid-column:span 2}.portfolio-item{min-height:0}.portfolio-item.show-extra{min-height:145px}.portfolio-grid:has(.show-extra){grid-template-rows:none}.portfolio-overlay{opacity:1;font-size:10px}.process-section{padding-bottom:38px}.steps{gap:24px 14px}.step{gap:9px}.step:after{display:none!important}.step-icon{width:39px;height:39px}.step-icon svg{width:18px;height:18px}.step b{font-size:19px}.step h3{font-size:12px}.step p{font-size:10px}.showreel-layout{grid-template-columns:1fr;gap:24px}.reel-image{height:210px}.reel-copy{padding-bottom:12px}.testimonials-grid{grid-template-columns:1fr}.instagram-head h2{font-size:23px}.social-gallery{grid-template-columns:repeat(5,1fr);gap:6px}.booking-section{display:block}.booking-photo{height:230px;min-height:0}.booking-content{padding:27px 18px}.booking-content h2{font-size:28px}.contact-aside{justify-content:flex-start}.footer-main{grid-template-columns:1fr 1fr;gap:26px 12px;padding:31px 0}.footer-brand img{width:178px}.footer-links{grid-template-columns:1fr;gap:9px}.footer-col h3{font-size:12px}.footer-bottom{font-size:9px;line-height:1.5}.botanical:before,.botanical:after{opacity:.25}}
@media(max-width:370px){.nav-cta{display:none}.form-grid{grid-template-columns:1fr}.form-grid textarea{grid-column:1}.hero h1{font-size:38px}.step{display:block}.step-icon{margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* === Image treatments === */
/* HD : photographs are complete images, never screenshot crops or CSS object-fit:cover. */
.hero-photo{background-image:none;width:61%;display:flex;align-items:center;justify-content:flex-end;padding:8px 0 8px 8px}
.hero-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:right center}
.hero-fade{background:linear-gradient(90deg,#fffaf3 0%,#fffaf3 26%,#fffaf3ec 39%,#fffaf374 53%,transparent 70%)}
.service-img{display:grid;place-items:center;background:#f7f2eb}
.service-img img,.portfolio-item img,.social-tile img,.about-image img,.reel-image img,.booking-photo img{object-fit:contain;object-position:center;transform:none!important}
.service-card:hover img,.portfolio-item:hover img,.social-tile:hover img{transform:none!important}
.portfolio-item{background:#f8f4ee}
.portfolio-item img{padding:2px}
.about-image,.booking-photo,.reel-image{background:#eee7db;display:grid;place-items:center;overflow:hidden}
.about-image img,.booking-photo img,.reel-image img{height:100%;width:100%}
.image-note{font-size:11px;color:#7a7165;margin:8px 0 0;max-width:455px;line-height:1.55}
.social-tile{background:#f6f1eb}
.social-tile img{width:100%;height:100%}
@media(max-width:800px){.hero-photo{width:62%;}}
@media(max-width:580px){.hero{height:640px}.hero-photo{width:100%;height:49%;inset:auto 0 0;padding:0 4px 6px}.hero-photo img{object-position:center bottom}.hero-fade{background:linear-gradient(180deg,#fffaf3 0%,#fffaf3 24%,#fffaf3f5 40%,transparent 63%)}.hero-copy{padding-top:30px}.service-img img{padding:0}.portfolio-item img{padding:0}.image-note{margin-top:5px;font-size:10px}}

/* === Hero === */
/* Makura Groups Hero  – original full-frame 1672 × 941 image.
   Never crop/zoom it; retain the entire image and make mobile layout stack naturally. */
.hero {
  height: auto;
  min-height: 0;
  aspect-ratio: 1672 / 941;
  position: relative;
  isolation: isolate;
  background: #fffaf3;
}
.hero-photo {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  display: block;
  background: #fffaf3;
}
.hero-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}
.hero-fade {
  background: linear-gradient(90deg, rgba(255,250,243,.30) 0%, rgba(255,250,243,.15) 33%, transparent 55%);
}
.hero-inner {height: 100%; position: relative; z-index: 1;}
@media (max-width: 800px) {
  .hero {height: auto; min-height: 0; aspect-ratio: auto; display: flex; flex-direction: column;}
  .hero-photo {position: relative; order: 2; z-index: 0; inset: auto; width: 100%; height: auto; padding: 0;}
  .hero-photo img {width: 100%; height: auto; object-fit: contain; object-position: center center;}
  .hero-fade {display: none;}
  .hero-inner {order: 1; height: auto; padding-top: 36px; padding-bottom: 19px;}
  .hero-copy {padding: 0; max-width: 100%;}
  .hero-index {margin-top: 21px;}
}
@media (max-width: 580px) {
  .hero {height: auto; min-height: 0;}
  .hero-inner {padding-top: 28px; padding-bottom: 16px;}
  .hero-copy {padding: 0;}
  .hero-photo {height: auto; inset: auto; padding: 0;}
  .hero-photo img {height: auto;}
}

/* === Service cards === */
/* Makura Groups : only the OUR SERVICES cards are updated.
   All ten original generated PNGs are 1122 × 1402. No image crops. */
.services-grid { align-items: stretch; }
.services-grid .service-card { height: 100%; overflow: visible; }
.services-grid .service-media { position: relative; }
.services-grid .service-img {
    width: 100%;
    height: auto;
    aspect-ratio: 1122 / 1402;
    background: #f8f4ef;
    overflow: hidden;
}
.services-grid .service-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transform: none !important;
}
.services-grid .service-card:hover .service-img img { transform: none !important; }
.services-grid .service-icon {
    position: absolute;
    top: auto; right: auto; left: 15px; bottom: -18px;
    z-index: 2;
    width: 36px; height: 36px;
}
.services-grid .service-body { padding-top: 26px; min-height: 119px; }
@media (max-width: 580px) {
    .services-grid .service-icon { left: 10px; bottom: -16px; width: 32px; height: 32px; }
    .services-grid .service-body { padding: 24px 10px 15px; min-height: 112px; }
}

/* === Portfolio foundation === */
/* Makura Groups  – Our Visual Showcase ONLY.
   Ten individual 1122 x 1402 HD PNG photographs; no crop and no stretch.
   Loaded after existing styles so the Services, Hero, About and other sections remain unchanged. */
.portfolio-section .portfolio-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-rows: none;
  grid-auto-rows: auto;
  align-items: start;
  gap: 14px;
}
.portfolio-section .portfolio-item,
.portfolio-section .portfolio-item.tall,
.portfolio-section .portfolio-item.wide,
.portfolio-section .portfolio-item.extra,
.portfolio-section .portfolio-item.show-extra {
  display: block;
  grid-column: auto;
  grid-row: auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  aspect-ratio: 1122 / 1402;
  padding: 0;
  background: #f8f4ee;
  border: 1px solid #efe5d9;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 3px 12px rgba(51, 30, 7, .07);
}
.portfolio-section .portfolio-item[hidden] { display: none !important; }
.portfolio-section .portfolio-item img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  padding: 0;
  transform: none !important;
}
.portfolio-section .portfolio-item:hover img,
.portfolio-section .portfolio-item:focus-visible img { transform: none !important; }
.portfolio-section .portfolio-overlay { border-radius: 0 0 8px 8px; }
.portfolio-section .portfolio-item:focus-visible { outline: 3px solid #d8a84e; outline-offset: 3px; }
@media (max-width: 1060px) {
  .portfolio-section .portfolio-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .portfolio-section .portfolio-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
}
@media (max-width: 580px) {
  .portfolio-section .portfolio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    grid-auto-rows: auto;
    gap: 9px;
  }
  .portfolio-section .portfolio-overlay { font-size: 10px; padding: 26px 9px 9px; }
}

/* === Local cinematic player === */
/* Makura Groups  - real, local-only MP4 player. No off-site iframe or redirect. */
#cinematic-stories .cinematic-frame{aspect-ratio:16/9;height:auto;min-height:0;position:relative;display:block;overflow:hidden;background:#172125;border-radius:3px}
#cinematic-stories .cinematic-frame > img,#cinematic-stories .cinematic-video{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
#cinematic-stories .cinematic-video{background:#12191d}
#cinematic-stories .cinematic-play{z-index:2;cursor:pointer}
#cinematic-stories .cinematic-frame.is-playing .cinematic-play{opacity:0;pointer-events:none}
#cinematic-stories .cinematic-frame:focus-within .cinematic-play{opacity:1;pointer-events:auto}
#cinematic-stories .cinematic-play:focus-visible,#watch-cinematic:focus-visible{outline:3px solid #ad7632;outline-offset:4px}
#cinematic-stories .cinematic-pending{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);padding:9px 15px;white-space:nowrap;border:1px solid #e1bb78;color:#fff5dc;background:#142225c7;font-size:12px;letter-spacing:.3px}
#cinematic-stories .cinematic-error{color:#8d2b20;font-size:12px;margin:8px 0}
@media(max-width:580px){#cinematic-stories .showreel-layout{gap:22px}#cinematic-stories .cinematic-frame{aspect-ratio:16/9;height:auto}}

/* === Client stories === */
/* Makura Groups  – faithful compact, reference-style client testimonial cards. */
#testimonials{background:#fffdf9;position:relative;overflow:hidden;padding-top:37px;padding-bottom:43px}
#testimonials .client-stories-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px}
#testimonials .client-stories-heading .eyebrow{color:#b18a50;letter-spacing:.25em;margin:0 0 4px}
#testimonials .client-stories-heading h2{margin:0;font-family:var(--serif);font-size:clamp(24px,2.9vw,37px);font-weight:500;line-height:1.2;color:#242321}
#testimonials .client-stories-arrows{display:flex;gap:9px;align-items:center;flex:none}
#testimonials .client-stories-arrows button{border:1.5px solid #d6ae74;background:white;color:#39312a;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-size:26px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s}
#testimonials .client-stories-arrows button:hover{background:#faeed9;border-color:#b48745}
#testimonials .client-stories-arrows button:focus-visible{outline:2px solid #ac7b3c;outline-offset:3px}
#testimonials .client-stories-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
#testimonials .client-story-card{display:flex;align-items:flex-start;gap:17px;min-width:0;min-height:156px;border:1px solid #e9e5df;background:#fff;box-shadow:0 3px 9px rgba(57,38,10,.08);border-radius:5px;padding:17px 17px 18px}
#testimonials .client-story-card:nth-child(n+4){display:none}
#testimonials .client-story-avatar-wrap{width:76px;height:76px;flex:0 0 76px;border:2px solid #d9b476;border-radius:50%;overflow:hidden;background:#f6e9d6;display:grid;place-items:center}
#testimonials .client-story-avatar-wrap img{width:100%;height:100%;display:block;object-fit:cover}
#testimonials .client-story-avatar{width:100%;height:100%;display:grid;place-items:center;color:#805b27;font-family:var(--serif);font-size:33px}
#testimonials .client-story-content{min-width:0;display:flex;flex-direction:column;align-items:flex-start;flex:1}
#testimonials .client-story-rating{color:#d09a43;letter-spacing:1.1px;font-size:18px;line-height:1.15;margin:0 0 6px}
#testimonials .client-story-rating .unfilled{color:#bdb9b1}
#testimonials .client-story-content blockquote{font-family:var(--font-primary, 'DM Sans',sans-serif);font-size:12.5px;color:#4f4943;line-height:1.55;margin:0 0 11px;white-space:normal;overflow-wrap:anywhere;flex:1}
#testimonials .client-story-name{font-size:12.5px;color:#272421;line-height:1.35;margin-top:auto}
#testimonials .client-story-service{font-size:11px;color:#79726b;line-height:1.4;margin-top:2px}
#testimonials .client-stories-empty{background:#fff;border:1px solid #eee2d3;border-radius:5px;padding:22px;color:#65584b;font-size:13px}
@media(max-width:990px){#testimonials .client-stories-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}#testimonials .client-story-card:nth-child(n+3){display:none}}
@media(max-width:640px){#testimonials{padding-top:34px;padding-bottom:38px}#testimonials .client-stories-heading h2{font-size:25px}#testimonials .client-stories-arrows button{width:32px;height:32px}#testimonials .client-stories-track{grid-template-columns:minmax(0,1fr)}#testimonials .client-story-card{padding:17px;min-height:150px;gap:15px}#testimonials .client-story-card:nth-child(n+2){display:none}#testimonials .client-story-avatar-wrap{width:69px;height:69px;flex-basis:69px}#testimonials .client-story-content blockquote{font-size:12px}}

#testimonials .client-stories-track.stories-switching{opacity:.54;transition:opacity .12s ease}
#testimonials .client-stories-track{transition:opacity .12s ease}
@media(prefers-reduced-motion:reduce){#testimonials .client-stories-track{transition:none}}

/* : distinguish supplied reference-style demo content from actual client feedback. */
#testimonials .client-stories-demo-tag{display:inline-block;margin-left:8px;padding:3px 6px;border-radius:3px;background:#f8ecda;color:#8c6432;font:700 9px/1.2 Arial,sans-serif;letter-spacing:.1em;vertical-align:middle}
#testimonials .client-story-demo-label{display:inline-block;margin-left:7px;padding:2px 4px;border:1px solid #e2bb83;color:#86602d;border-radius:3px;font:700 8px/1.2 Arial,sans-serif;letter-spacing:.07em;vertical-align:middle}

/* === Captured moments === */
/* Captured Moments : compact tiles, no crop, independent local photographs. */
.captured-section{background:linear-gradient(#fffdf9,#fffaf4);padding:49px 0 56px;}
.captured-heading{text-align:center;position:relative;margin-bottom:29px;padding-inline:100px;}
.captured-heading .eyebrow{margin-bottom:8px;}
.captured-heading h2{margin:0;font-size:clamp(29px,3.1vw,42px);font-weight:500;}
.captured-heading>p:not(.eyebrow){font-size:12px;line-height:1.6;color:#676158;margin:12px 0 0;}
.captured-controls{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:10px;}
.captured-arrow{width:37px;height:37px;display:grid;place-items:center;border:1px solid #d5a85f;background:#fff;color:#28231d;border-radius:50%;font-size:25px;line-height:1;transition:background .2s,color .2s;}
.captured-arrow:hover:not(:disabled){background:#e8b65e;color:#fff;}
.captured-arrow:disabled{opacity:.4;cursor:default;}
.captured-arrow:focus-visible,.captured-card:focus-visible{outline:3px solid #ab813c;outline-offset:4px;}
.captured-track{display:flex;gap:14px;overflow-x:auto;padding:4px 3px 15px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;}
.captured-track::-webkit-scrollbar{display:none;}
.captured-card{display:flex;flex-direction:column;align-items:stretch;gap:11px;flex:0 0 clamp(118px,11.3vw,147px);min-width:0;padding:0;border:0;background:transparent;color:#242320;scroll-snap-align:start;}
.captured-picture{aspect-ratio:10/9;display:grid;place-items:center;width:100%;background:#f3ece3;border:1px solid #eadcc9;border-radius:9px;overflow:hidden;box-shadow:0 3px 10px #3b291316;}
.captured-picture img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important;}
.captured-name{font:500 clamp(13px,1.2vw,17px)/1.3 var(--serif);text-align:center;white-space:nowrap;}
.captured-social{margin-top:14px;text-align:center;}
@media(max-width:700px){.captured-heading{padding-inline:0;margin-bottom:20px;}.captured-heading h2{font-size:29px;}.captured-controls{position:static;justify-content:center;margin-top:16px;}.captured-track{gap:11px;}.captured-card{flex-basis:clamp(108px,32vw,140px);}.captured-name{font-size:14px;}.captured-section{padding-block:37px 43px;}}
@media(prefers-reduced-motion:reduce){.captured-track{scroll-behavior:auto;}.captured-arrow{transition:none;}}

/* === Contact and footer === */
/*  – Booking contacts and full-width luxury footer; preserves the approved layout. */
.booking-section{grid-template-columns:39% minmax(0,1fr) 245px}
.contact-aside{padding:28px 24px 28px 11px;gap:21px;justify-content:center;min-width:0}
.contact-method{gap:13px;min-width:0;font-size:13px;line-height:1.25;font-weight:700;align-items:center}
.contact-method small{font-size:11px;line-height:1.4;margin-top:5px;font-weight:400}
.contact-icon{width:43px;height:43px;flex:0 0 43px}
.contact-icon svg{width:22px;height:22px}
.contact-icon.whatsapp{background:#18a650;color:#fff}
.contact-unavailable{cursor:default}
.contact-unavailable small{color:#847b70}
.contact-method:not(.contact-unavailable):hover span:not(.contact-icon){color:#9b6b25}
.footer{background:linear-gradient(115deg,#0d2c22 0%,#123a2c 55%,#09281f 100%);color:#f6ecda}
.footer .footer-main{grid-template-columns:1.08fr 1fr 1.04fr .64fr;gap:30px;align-items:start;padding:37px 0 30px}
.footer-brand img{width:min(100%,216px);height:auto;max-height:none;mix-blend-mode:normal}
.footer-col h3,.footer-social-block h3{color:#e9bd70;font-size:13px;font-weight:700;margin:0 0 13px}
.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:10px 24px}
.footer-contact>a,.footer-contact>p{display:flex;align-items:flex-start;gap:9px;margin:0 0 13px;font-size:11px;line-height:1.55}
.footer-contact svg{width:16px;height:16px;margin-top:1px;flex:0 0 16px}
.footer-contact span{overflow-wrap:anywhere}
.footer-unavailable span{color:#c6bdb0}
.footer-social-block .footer-social{margin-top:17px;display:flex;flex-wrap:wrap;gap:14px}
.footer-social-block a,.footer-social-disabled{display:grid;place-items:center;color:#f2c371;width:22px;height:24px}
.footer-social-block svg{width:18px;height:18px}
.footer-social-disabled{opacity:.36;cursor:default}
.footer-bottom{padding:15px 0}
#cinematic-stories .cinematic-pending{max-width:calc(100% - 24px);white-space:normal;text-align:center}
@media(max-width:1050px){.booking-section{grid-template-columns:35% minmax(0,1fr) 220px}.footer .footer-main{gap:22px}}
@media(max-width:820px){.booking-section{grid-template-columns:36% minmax(0,1fr)}.contact-aside{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px 24px}.contact-method{font-size:12px}.footer .footer-main{grid-template-columns:1fr 1fr 1fr;gap:25px}.footer-brand{grid-column:1/-1}}
@media(max-width:600px){.booking-section{display:block}.contact-aside{grid-template-columns:1fr;gap:17px;padding:25px 20px}.contact-method{max-width:100%;font-size:13px}.footer .footer-main{grid-template-columns:1fr 1fr;gap:26px 18px}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:1/-1}.footer-social-block{grid-column:1/-1}.footer-links{grid-template-columns:1fr 1fr;gap:10px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:5px}}

.cinematic-disabled-cta[disabled]{opacity:.65;cursor:not-allowed;filter:saturate(.5)}
.cinematic-disabled-cta[disabled]:hover{transform:none}
#cinematic-stories .cinematic-unavailable-note{font-size:11px;color:#847b70;margin:8px 0 0}

/* === Portfolio mosaic === */
/* Makura Groups : reference-style seven-tile editorial photo mosaic.
   Loaded after all old styles. Changes only Our Portfolio / Visual Showcase.
   The foreground photo always uses contain: original photograph is not cropped. */
.portfolio-section { padding-top: 47px; padding-bottom: 53px; background: #fff; }
.portfolio-section .portfolio-head { display:flex; align-items:end; flex-direction:row; justify-content:space-between; gap:25px; }
.portfolio-section .portfolio-head h2 { font-family:var(--serif); font-weight:500; font-size:clamp(27px,3.1vw,39px); }
.portfolio-section .filter-list { display:flex; flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; overscroll-behavior-x:contain; white-space:nowrap; flex:0 1 655px; max-width:655px; min-width:0; padding:0 0 5px; gap:4px; scrollbar-width:thin; scrollbar-color:#d6ae6e #f5efe6; }
.portfolio-section .filter-list::-webkit-scrollbar {height:5px}
.portfolio-section .filter-list::-webkit-scrollbar-thumb {background:#d6ae6e;border-radius:8px}
.portfolio-section .filter-button {flex:0 0 auto; min-height:39px; padding:9px 14px; border-radius:3px; border:1px solid #e7ded3; font-weight:600; font-size:12px; background:#fff; color:#302b24}
.portfolio-section .filter-button.selected,.portfolio-section .filter-button:hover {background:#edc16e;border-color:#edc16e;color:#32210c}
.portfolio-section .portfolio-grid {margin-top:21px; gap:10px;}
/* All seven featured cards exactly fill the 2-row reference layout. */
.portfolio-section .portfolio-grid.is-mosaic { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:180px 155px; grid-auto-rows:auto; align-items:stretch; }
.portfolio-section .portfolio-grid.is-mosaic .portfolio-item {display:block; width:100%; min-height:0; min-width:0; height:100%; aspect-ratio:auto; grid-area:auto; border-radius:5px; border:1px solid #eadfd1; box-shadow:0 2px 9px #46351e12; background:#f2e8da; }
.portfolio-section .portfolio-grid.is-mosaic .mosaic-wedding {grid-column:1 / span 3; grid-row:1 / span 2}
.portfolio-section .portfolio-grid.is-mosaic .mosaic-prewedding {grid-column:4 / span 3; grid-row:1}
.portfolio-section .portfolio-grid.is-mosaic .mosaic-newborn {grid-column:4 / span 3; grid-row:2}
.portfolio-section .portfolio-grid.is-mosaic .mosaic-portrait {grid-column:7 / span 2; grid-row:1}
.portfolio-section .portfolio-grid.is-mosaic .mosaic-product {grid-column:9 / span 2; grid-row:1}
.portfolio-section .portfolio-grid.is-mosaic .mosaic-event {grid-column:7 / span 4; grid-row:2}
.portfolio-section .portfolio-grid.is-mosaic .mosaic-maternity {grid-column:11 / span 2; grid-row:1 / span 2}
/* Preserve the entire subject. A soft enlargement only fills unused side-space behind it. */
.portfolio-section .portfolio-item {position:relative; isolation:isolate; overflow:hidden; border:1px solid #eadfd1; border-radius:5px; background:#f2e8da;}
.portfolio-section .portfolio-item:before {content:"";position:absolute;inset:-20px;z-index:-1;background-image:var(--tile-image);background-position:center;background-size:cover;filter:blur(15px) brightness(.9);opacity:.65;pointer-events:none}
.portfolio-section .portfolio-item img {position:relative;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;padding:0;transform:none!important;}
.portfolio-section .portfolio-item:hover img,.portfolio-section .portfolio-item:focus-visible img {transform:none!important}
.portfolio-section .portfolio-overlay {position:absolute;z-index:2;opacity:0;inset:auto 0 0;padding:34px 12px 10px;font-size:11px;background:linear-gradient(transparent,#1c140cc7)}
.portfolio-section .portfolio-item:hover .portfolio-overlay,.portfolio-section .portfolio-item:focus-visible .portfolio-overlay {opacity:1}
.portfolio-section .portfolio-item[hidden]{display:none!important}
/* Filter and View Full Portfolio become a clean regular grid with all matching photos. */
.portfolio-section .portfolio-grid:not(.is-mosaic) {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:none;grid-auto-flow:row;grid-auto-rows:auto;gap:12px}
.portfolio-section .portfolio-grid:not(.is-mosaic) .portfolio-item {display:block;grid-area:auto!important;width:100%;height:auto;min-height:0;aspect-ratio:4/5}
.portfolio-section .showcase-disclosure {font-size:10px; margin:9px 0 0;max-width:none;text-align:right;color:#837567}
.portfolio-section .center-cta {margin-top:15px}
@media(max-width:1050px){
 .portfolio-section .portfolio-head {align-items:start;flex-direction:column;gap:14px}
 .portfolio-section .filter-list {width:100%;max-width:100%;flex:auto}
 .portfolio-section .portfolio-grid.is-mosaic {grid-template-rows:145px 125px;gap:8px}
 .portfolio-section .portfolio-grid:not(.is-mosaic) {grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:740px){
 .portfolio-section .portfolio-grid.is-mosaic {grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-flow:row dense;grid-auto-rows:150px;gap:9px}
 .portfolio-section .portfolio-grid.is-mosaic .portfolio-item {grid-area:auto;grid-column:auto;grid-row:auto}
 .portfolio-section .portfolio-grid.is-mosaic .mosaic-wedding {grid-column:1;grid-row:span 2}
 .portfolio-section .portfolio-grid.is-mosaic .mosaic-maternity {grid-column:auto;grid-row:span 2}
 .portfolio-section .portfolio-grid.is-mosaic .mosaic-event {grid-column:span 2;grid-row:auto}
 .portfolio-section .portfolio-grid:not(.is-mosaic) {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:540px){
 .portfolio-section {padding-top:39px;padding-bottom:39px}
 .portfolio-section .portfolio-head h2 {font-size:28px}
 .portfolio-section .filter-list {width:100%;min-width:0;max-width:100%;gap:4px;padding-bottom:9px}
 .portfolio-section .filter-button {min-height:36px;padding:7px 11px;font-size:11px}
 .portfolio-section .portfolio-grid.is-mosaic {grid-auto-rows:119px;gap:7px;margin-top:12px}
 .portfolio-section .portfolio-grid:not(.is-mosaic) {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .portfolio-section .portfolio-overlay {opacity:0}
 .portfolio-section .showcase-disclosure {text-align:left;font-size:10px}
}

/* === Edge-to-edge gallery previews === */
/* Makura Groups  — edge-to-edge portfolio cover fix.
   Thumbnails deliberately fill their different mosaic shapes; the original
   unmodified image is still used by the existing fullscreen lightbox. */
.portfolio-section .portfolio-grid .portfolio-item {
  padding: 0;
  background: #eee5da;
  overflow: hidden;
}
/* 's blurred contain-layer was responsible for the visible beige gutters. */
.portfolio-section .portfolio-grid .portfolio-item::before { display: none !important; }
.portfolio-section .portfolio-grid .portfolio-item > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover !important;
  object-position: center center;
  padding: 0;
  margin: 0;
  border: 0;
  transform: none !important;
}
/* Adjust focus for each source photo. No files are destructively modified. */
.portfolio-section .portfolio-grid .mosaic-wedding > img { object-position: 50% 45%; }
.portfolio-section .portfolio-grid .mosaic-prewedding > img { object-position: 50% 43%; }
.portfolio-section .portfolio-grid .mosaic-newborn > img { object-position: 50% 46%; }
.portfolio-section .portfolio-grid .mosaic-portrait > img { object-position: 50% 32%; }
.portfolio-section .portfolio-grid .mosaic-product > img { object-position: 50% 51%; }
.portfolio-section .portfolio-grid .mosaic-event > img { object-position: 50% 43%; }
.portfolio-section .portfolio-grid .mosaic-maternity > img { object-position: 50% 42%; }
.portfolio-section .portfolio-grid .portfolio-item:hover > img,
.portfolio-section .portfolio-grid .portfolio-item:focus-visible > img { transform: none !important; }
/* Keep any category's filtered/expanded card filled too. */
.portfolio-section .portfolio-grid:not(.is-mosaic) .portfolio-item > img { object-fit: cover !important; }

/* === Navigation === */
/* Makura Groups : transparent logo and premium header social links */
.site-header { background: #fffdf9; }
.site-header .nav-wrap { min-height: 74px; gap: 19px; }
.site-header .brand { display:flex; align-items:center; flex:0 0 auto; }
.site-header .brand img { width: 162px; height: auto; max-height: 63px; object-fit:contain; mix-blend-mode:normal; background:transparent; }
.site-header .main-nav { gap: 24px; margin-left:auto; }
.site-header .main-nav a { white-space:nowrap; }
.site-header .nav-actions { gap: 8px; flex:0 0 auto; }
.site-header .nav-cta { min-height:42px; margin:0 8px 0 9px; }
.site-header .social-link,
.site-header .social-link-disabled { width:27px; height:27px; display:grid; place-items:center; border:1px solid #ddae61; border-radius:50%; color:#ad7b31; background:transparent; flex:0 0 27px; }
.site-header .social-link svg,
.site-header .social-link-disabled svg { width:15px; height:15px; stroke-width:1.8; }
.site-header .social-link:hover { color:#fff; background:#bc8a41; border-color:#bc8a41; }
.site-header .social-link-disabled { color:#b58b50; opacity:.7; cursor:default; }
.site-header .social-link.s-facebook,
.site-header .social-link-disabled.s-facebook { border:0; color:#26221b; }
.site-header .social-link.s-facebook:hover { background:#f7e7cb; color:#9d6d2e; }
.site-header .social-link.s-youtube,
.site-header .social-link-disabled.s-youtube { background:#c69a50; border-color:#c69a50; color:#fff; }
.site-header .social-link.s-youtube:hover { background:#9b7135; }
@media(max-width:1100px) {
 .site-header .nav-wrap { gap:12px; }
 .site-header .main-nav { gap:15px; }
 .site-header .nav-actions { gap:5px; }
 .site-header .brand img { width:142px; }
 .site-header .nav-cta { margin:0 5px; }
 .site-header .social-link, .site-header .social-link-disabled { width:24px;height:24px;flex-basis:24px; }
}
@media(max-width:800px) {
 .site-header .brand img {width:137px;max-height:55px;height:auto;}
 .site-header .nav-wrap {min-height:70px;}
 .site-header .nav-actions .social-link,
 .site-header .nav-actions .social-link-disabled {display:none;}
}
@media(max-width:580px) {
 .site-header .brand img {width:125px;max-height:50px;height:auto;}
 .site-header .nav-wrap {min-height:65px;}
}

/* === Motion and reveal effects === */
/* Makura Groups  — decorative motion layer. Existing geometry, photographs and actions remain unchanged. */
:root { --mk-ease:cubic-bezier(.22,1,.36,1); }

/* Progressive enhancement: nothing is concealed if JavaScript or IntersectionObserver is unavailable. */
html.motion-ready .motion-reveal {
  opacity:0;
  transform:translate3d(0,20px,0);
  transition:opacity 680ms ease,transform 680ms var(--mk-ease);
  transition-delay:var(--motion-delay,0ms);
}
html.motion-ready .motion-reveal.is-visible {opacity:1;transform:none;}

/* Uncropped hero: animate only opacity, never image scale or its object-fit. */
html.motion-ready .hero-photo img {animation:mk-photo-arrive 1000ms ease both;}
html.motion-ready .hero-copy > .eyebrow {animation:mk-rise-in 680ms 80ms var(--mk-ease) both;}
html.motion-ready .hero-copy > h1 {animation:mk-rise-in 820ms 170ms var(--mk-ease) both;}
html.motion-ready .hero-copy > .hero-lead {animation:mk-rise-in 720ms 285ms var(--mk-ease) both;}
html.motion-ready .hero-copy > .hero-buttons {animation:mk-rise-in 720ms 395ms var(--mk-ease) both;}
html.motion-ready .hero-copy > .hero-index {animation:mk-rise-in 720ms 500ms var(--mk-ease) both;}
html.motion-ready .hero-index-line {transform-origin:left;animation:mk-line-grow 780ms 750ms var(--mk-ease) both;}
html.motion-ready .site-header .brand {animation:mk-rise-in 620ms 40ms var(--mk-ease) both;}
html.motion-ready .site-header .main-nav {animation:mk-rise-in 620ms 110ms var(--mk-ease) both;}
html.motion-ready .site-header .nav-actions {animation:mk-rise-in 620ms 170ms var(--mk-ease) both;}

@keyframes mk-photo-arrive {from{opacity:.35;}to{opacity:1;}}
@keyframes mk-rise-in {from{opacity:0;transform:translate3d(0,17px,0);}to{opacity:1;transform:translate3d(0,0,0);}}
@keyframes mk-line-grow {from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes mk-tile-appear {from{opacity:.30;}to{opacity:1;}}

/* Small stagger for galleries and steps after the parent section becomes visible. */
html.motion-ready .services-grid.motion-reveal.is-visible .service-card {
  animation:mk-tile-appear 560ms ease both;
  animation-delay:calc(var(--mk-item,0) * 50ms);
}
html.motion-ready .steps.motion-reveal.is-visible .step {
  animation:mk-tile-appear 560ms ease both;
  animation-delay:calc(var(--mk-item,0) * 90ms);
}
html.motion-ready #portfolio-grid.mk-filter-animate .portfolio-item:not([hidden]) {
  animation:mk-tile-appear 430ms ease both;
}

/* Navigation and interactive polish. Does not replace existing click or hover logic. */
.site-header .main-nav a {position:relative;}
.site-header .main-nav a::after {
  content:"";position:absolute;bottom:-6px;left:0;width:100%;height:1.5px;
  background:#c79746;transform:scaleX(0);transform-origin:left;
  transition:transform 270ms var(--mk-ease);pointer-events:none;
}
.site-header .main-nav a:hover::after,
.site-header .main-nav a:focus-visible::after,
.site-header .main-nav a.active::after {transform:scaleX(1);}
.site-header .social-link {transition:transform 250ms var(--mk-ease),background-color 250ms,color 250ms,border-color 250ms;}
.site-header .social-link:hover {transform:translateY(-2px);}
.btn-gold {position:relative;overflow:hidden;isolation:isolate;}
.btn-gold::after {content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,#ffffff55 50%,transparent 80%);pointer-events:none;transform:translateX(-155%);transition:transform 580ms ease;}
.btn-gold:hover::after,.btn-gold:focus-visible::after {transform:translateX(155%);}
.captured-picture {transition:box-shadow 260ms ease,transform 260ms var(--mk-ease);}
.captured-card:hover .captured-picture,.captured-card:focus-visible .captured-picture {box-shadow:0 8px 18px #6c4c252b;transform:translateY(-3px);}
.captured-card .captured-name {transition:color 200ms;}
.captured-card:hover .captured-name,.captured-card:focus-visible .captured-name {color:#a47739;}
.contact-method .contact-icon {transition:transform 250ms var(--mk-ease);}
a.contact-method:hover .contact-icon {transform:scale(1.07);}

/* A thin progress line does not block any navigation control or website content. */
.mk-scroll-progress {position:fixed;inset:0 auto auto 0;width:100%;height:2px;z-index:100;pointer-events:none;background:linear-gradient(90deg,#c48e40,#f0c776);transform:scaleX(0);transform-origin:left;will-change:transform;}

/* Do not turn off keyboard focus styling. */
@media(hover:none){.captured-card:hover .captured-picture{transform:none;}}
@media(prefers-reduced-motion:reduce){
 html.motion-ready .motion-reveal,html.motion-ready .motion-reveal.is-visible {opacity:1!important;transform:none!important;transition:none!important;}
 html.motion-ready .hero-photo img,html.motion-ready .hero-copy>*,html.motion-ready .site-header .brand,
 html.motion-ready .site-header .main-nav,html.motion-ready .site-header .nav-actions,
 html.motion-ready .services-grid.motion-reveal.is-visible .service-card,
 html.motion-ready .steps.motion-reveal.is-visible .step,
 html.motion-ready #portfolio-grid.mk-filter-animate .portfolio-item:not([hidden]) {animation:none!important;}
 .site-header .main-nav a::after,.site-header .social-link,.btn-gold::after,.captured-picture,.contact-method .contact-icon{transition:none!important;}
 .captured-card:hover .captured-picture {transform:none;}
}
