
:root{
 --paper:#f7f4ef;
 --ink:#292622;
 --muted:#79726a;
 --line:#d9d2c9;
 --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;font-weight:300}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
.header{height:104px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3.5vw;background:rgba(247,244,239,.96);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(0,0,0,.04)}
.logo img{width:150px;height:auto;mix-blend-mode:multiply}
.menu-btn,.enquire-top{font:400 11px/1 Inter;letter-spacing:.18em;background:none;border:0;padding:12px 0}
.enquire-top{justify-self:end}
.hero{height:82vh;min-height:650px;margin:0 3.5vw;overflow:hidden}
.hero img{object-position:center 50%}
.editorial-copy{max-width:840px;margin:0 auto;text-align:center;padding:140px 30px 170px}
.kicker{font-size:10px;letter-spacing:.24em;text-transform:uppercase;margin:0 0 28px;color:#6f6962}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:300;letter-spacing:-.02em;margin:0}
h1{font-size:clamp(52px,7vw,104px);line-height:.93}
h2{font-size:clamp(44px,5.2vw,78px);line-height:.98}
h3{font-size:clamp(30px,3vw,44px);line-height:1}
.body-copy{font-size:15px;line-height:1.9;max-width:610px;margin:42px auto 28px;color:#5f5a54}
.soft-link{display:inline-block;margin-top:18px;font-size:10px;letter-spacing:.2em;border-bottom:1px solid #77706a;padding-bottom:7px}
.pair{width:min(1440px,93vw);margin:0 auto 180px;display:grid;grid-template-columns:.8fr 1.2fr;gap:4vw;align-items:end}
.pair .portrait{height:780px;margin:0}
.pair .landscape{height:560px;margin:0 0 80px}
.spacer-copy{text-align:center;padding:10px 20px 145px}
.spacer-copy h2{font-style:italic}
.full-image{width:100%;height:90vh;min-height:700px}
.full-image img{object-position:center 56%}
.editorial-split{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:#fbfaf7}
.text-panel{display:flex;flex-direction:column;justify-content:center;padding:10vw 10vw}
.text-panel p:not(.kicker){font-size:15px;line-height:1.9;color:#5f5a54;max-width:520px;margin:34px 0 10px}
.image-panel{min-height:760px}
.decor-feature{padding:170px 6vw;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center}
.main-decor{height:820px;margin:0}
.decor-copy{max-width:470px}
.decor-copy p:not(.kicker){font-size:15px;line-height:1.9;color:#5f5a54;margin-top:34px}
.masonry{width:min(1400px,90vw);margin:0 auto 180px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:420px 520px;gap:2.5vw}
.masonry img{object-fit:cover}
.m1{grid-row:1/3;height:100%}
.m2{height:100%}
.m3{height:100%;object-position:center top}
.story-strip{padding:0 3.5vw 170px}
.story-text{max-width:900px;margin:0 auto;text-align:center;padding-bottom:90px}
.story-strip>img{height:84vh;min-height:680px}
.services{padding:150px 8vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.services>.kicker{text-align:center}
.service-rows{max-width:1180px;margin:0 auto}
.service-rows>div{display:grid;grid-template-columns:80px 1fr 1.2fr;gap:40px;padding:34px 0;border-top:1px solid var(--line);align-items:start}
.service-rows span{font-size:10px;letter-spacing:.15em;color:#8b847b}
.service-rows h3{font-size:40px}
.service-rows p{margin:3px 0 0;line-height:1.8;color:#6c665f;font-size:14px}
.soft-gallery{display:grid;grid-template-columns:1fr 1fr;gap:3.5vw;padding:160px 3.5vw}
.soft-gallery img:first-child{height:760px}
.soft-gallery img:last-child{height:620px;margin-top:140px}
.film{display:grid;grid-template-columns:1.15fr .85fr;background:#fbfaf7}
.film-img{height:780px}
.film-copy{display:flex;flex-direction:column;justify-content:center;padding:9vw}
.film-copy p:not(.kicker){font-size:15px;line-height:1.9;color:#5f5a54;margin:34px 0 8px}
.packages{padding:160px 6vw}
.package-title{text-align:center;max-width:800px;margin:0 auto 90px}
.package-title>p:last-child{line-height:1.8;color:#6b655e}
.package-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.package-grid article{padding:42px 28px;min-height:230px;border-right:1px solid var(--line)}
.package-grid article:last-child{border-right:0}
.package-grid article p{font-size:10px;letter-spacing:.2em}
.package-grid article h3{font-size:46px;margin:18px 0}
.package-grid article span{font-size:13px;line-height:1.7;color:#716a63}
.video-note{text-align:center;max-width:700px;margin:100px auto 0}
.video-note p:last-child{color:#6b655e}
.about{padding:160px 6vw;display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;align-items:center}
.about-imgs{display:grid;grid-template-columns:1fr .7fr;gap:2vw;align-items:end}
.about-imgs img:first-child{height:700px}
.about-imgs img:last-child{height:500px;margin-bottom:60px}
.about-copy p:not(.kicker){font-size:15px;line-height:1.9;color:#5f5a54;margin-top:32px}
.closing-image{height:88vh;min-height:680px}
.closing-image img{object-position:center 45%}
.contact{padding:160px 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}
.contact-copy>p:not(.kicker){line-height:1.8;color:#625c56}
.contact-copy>a{display:block;margin-top:36px;border-bottom:1px solid var(--line);padding-bottom:8px;width:max-content}
.social-links{display:flex;gap:25px;margin-top:22px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.form{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px}
.form label{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.form input,.form select,.form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:14px 0;font:300 14px Inter;color:var(--ink);outline:none}
.form textarea{border:1px solid var(--line);padding:16px;margin-top:12px}
.form .full{grid-column:1/-1}
.form button{grid-column:1/-1;justify-self:start;background:none;border:1px solid var(--ink);padding:16px 24px;font:400 10px Inter;letter-spacing:.18em}
footer{padding:80px 4vw 50px;border-top:1px solid var(--line);display:flex;align-items:end;justify-content:space-between}
footer img{width:150px;height:auto;mix-blend-mode:multiply}
footer p{font-size:11px;color:#8a847c}
@media(max-width:900px){
 .header{height:78px}.logo img{width:118px}
 .hero{height:72vh;min-height:520px;margin:0}
 .editorial-copy{padding:100px 24px 120px}
 .pair,.editorial-split,.decor-feature,.film,.about,.contact{grid-template-columns:1fr}
 .pair{width:100%;gap:22px;margin-bottom:100px;padding:0 20px}
 .pair .portrait{height:580px}.pair .landscape{height:390px;margin:0}
 .full-image{height:70vh;min-height:520px}
 .text-panel{padding:100px 28px}
 .decor-feature{padding:100px 22px;gap:60px}.main-decor{height:620px}
 .masonry{grid-template-columns:1fr;grid-template-rows:auto;width:100%;padding:0 20px;margin-bottom:100px}
 .masonry img{height:520px!important}
 .story-strip{padding:0 0 100px}.story-text{padding:0 24px 60px}
 .story-strip>img{height:65vh;min-height:500px}
 .services{padding:100px 24px}
 .service-rows>div{grid-template-columns:48px 1fr;gap:15px}.service-rows p{grid-column:2}
 .soft-gallery{grid-template-columns:1fr;padding:100px 20px;gap:22px}
 .soft-gallery img:first-child,.soft-gallery img:last-child{height:560px;margin:0}
 .film-img{height:620px}.film-copy{padding:100px 28px}
 .packages{padding:100px 20px}.package-grid{grid-template-columns:1fr 1fr}.package-grid article:nth-child(2){border-right:0}.package-grid article{border-bottom:1px solid var(--line)}
 .about{padding:100px 20px;gap:70px}.about-imgs img:first-child{height:560px}.about-imgs img:last-child{height:380px}
 .closing-image{height:68vh;min-height:500px}
 .contact{padding:100px 24px;gap:70px}.form{grid-template-columns:1fr}.form .full,.form button{grid-column:1}
}


.mahira-feature{padding:20px 6vw 170px;display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:center}
.mahira-copy{max-width:500px}
.mahira-copy p:not(.kicker){font-size:15px;line-height:1.9;color:#5f5a54;margin:34px 0 10px}
.mahira-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2.2vw;align-items:end}
.mahira-grid figure{margin:0}
.mahira-large{height:760px}
.mahira-small{height:520px;margin-bottom:70px!important}
.price{display:flex;align-items:flex-start;gap:8px;margin:18px 0}
.price em{font-family:"Cormorant Garamond",Georgia,serif;font-size:15px;font-weight:300;font-style:italic;color:#8a837b;margin-top:6px}
.price h3{margin:0!important}
.testimonials{padding:150px 6vw;background:#fbfaf7;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.testimonials-head{text-align:center;max-width:760px;margin:0 auto 85px}
.testimonial-grid{max-width:1250px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}
.testimonial-grid blockquote{margin:0;padding:0}
.testimonial-grid blockquote p{font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;line-height:1.25;font-weight:300;margin:0 0 28px}
.testimonial-grid cite{font-style:normal;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#8a837b}
.placeholder-note{text-align:center;font-size:10px;color:#9a938b;margin:70px auto 0;max-width:720px}
@media(max-width:900px){
 .mahira-feature{grid-template-columns:1fr;padding:30px 20px 110px;gap:65px}
 .mahira-grid{grid-template-columns:1fr 1fr;gap:14px}
 .mahira-large{height:560px}.mahira-small{height:430px;margin-bottom:0!important}
 .testimonial-grid{grid-template-columns:1fr;gap:65px}
 .testimonials{padding:100px 24px}
 .testimonial-grid blockquote p{font-size:28px}
}


.hidden-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-note{font-size:12px!important;line-height:1.6!important;color:#8a837b!important;margin-top:14px!important}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:10px!important;letter-spacing:.06em!important;text-transform:none!important;line-height:1.5}
.consent input{width:auto!important;margin-top:2px}

.film-subcopy{margin-top:20px!important}
.film-subcopy strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:28px;font-weight:300;color:#292622}


/* Final hero refinement */
.intro h1{
  font-size:clamp(44px,5.4vw,80px);
  line-height:.97;
}
.hero-services{
  margin:34px 0 0;
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#777068;
}
@media(max-width:900px){
  .intro h1{
    font-size:clamp(38px,10vw,56px);
    line-height:1;
  }
  .hero-services{
    font-size:9px;
    letter-spacing:.18em;
    line-height:1.8;
    padding:0 12px;
  }
}


/* Working full-screen menu */
.menu-btn{cursor:pointer}
.site-menu{
 position:fixed;inset:0;z-index:100;background:rgba(247,244,239,.985);
 opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;
 display:flex;align-items:center;justify-content:center;
}
.site-menu.is-open{opacity:1;visibility:visible}
.menu-inner{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
.menu-inner a{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(34px,4.2vw,62px);font-weight:300;line-height:1;transition:opacity .2s ease}
.menu-inner a:hover{opacity:.5}
.menu-close{position:absolute;top:38px;left:3.5vw;background:none;border:0;font:400 11px/1 Inter;letter-spacing:.18em;color:var(--ink);cursor:pointer;padding:12px 0}
body.menu-open{overflow:hidden}
@media(max-width:900px){
 .menu-close{top:22px;left:22px}
 .menu-inner{gap:18px}
 .menu-inner a{font-size:38px}
}
