:root{--navy:#092339;--ink:#122e43;--amber:#f9bb4b;--paper:#f7f6f2;--muted:#637480}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.6 system-ui,sans-serif;background:white}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:5px}header{display:flex;align-items:center;gap:35px;padding:23px 5%;background:var(--navy);color:white}.brand{font-size:22px;letter-spacing:3px;line-height:1.3}.brand strong{color:var(--amber);font-weight:500}.brand small{display:block;font-size:10px;letter-spacing:1px;margin-top:5px}nav{display:flex;gap:28px;margin-left:auto;font-size:14px}.language{font-size:12px;color:var(--amber);white-space:nowrap}.hero{display:grid;grid-template-columns:44% 56%;min-height:590px;background:var(--navy);color:white}.hero-copy{padding:85px 11%}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:650;color:#b18330}h1{font-size:clamp(42px,4.7vw,72px);line-height:1.05;letter-spacing:-3px;font-weight:650;margin:26px 0}h2{font-size:clamp(30px,3vw,44px);line-height:1.15;letter-spacing:-1.4px;margin:16px 0}h3{font-size:18px;line-height:1.3;margin:0 0 10px}.hero p{font-size:20px;color:#c6d0d9;max-width:420px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button,.outline{display:inline-block;padding:13px 20px;border-radius:5px;font-weight:650;font-size:14px;border:1px solid transparent}.button{background:var(--amber);color:var(--navy);cursor:pointer}.outline{border-color:#8195a5;color:inherit}.hero figure{margin:0;position:relative}.hero img{width:100%;height:100%;object-fit:cover}.hero figcaption{position:absolute;bottom:10px;right:15px;font-size:10px;background:#09233999;padding:2px 8px}.wrap{width:min(1200px,90%);margin:auto}.section{padding:75px 0}.lead{color:var(--muted);font-size:18px;max-width:700px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:35px}.service{display:flex;gap:18px;padding:24px;border:1px solid #e1e6e8;border-radius:8px;transition:background .2s,transform .2s}.service:hover{background:var(--paper);transform:translateY(-3px)}.service p{color:var(--muted);font-size:13px;margin:0}.symbol{font-size:35px;color:#b58323}.service>span:last-child{margin-left:auto;color:#b58323}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding-bottom:70px}.process b{font-size:32px;font-weight:400;color:#b18330}.process h3{margin-top:12px}.process p{color:var(--muted)}.about-band{background:var(--navy);color:white;padding:65px 0}.about-band p{max-width:700px;color:#c6d0d9;margin-bottom:25px}.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding:80px 0}.contact p{color:var(--muted)}form{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:13px;font-weight:600}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #cbd3d8;border-radius:5px;margin-top:7px;background:white}.full{grid-column:1/-1}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 0 80px;border-top:1px solid #e1e6e8;font-size:12px;color:var(--muted)}footer div{display:flex;gap:20px}.whatsapp{position:fixed;bottom:24px;right:24px;border:0;border-radius:30px;padding:15px 24px;background:#138647;color:white;box-shadow:0 8px 25px #0002;cursor:pointer}dialog{border:0;border-radius:15px;width:min(440px,92vw);max-height:85vh;padding:25px;color:var(--ink)}dialog::backdrop{background:#09233988}.dialog-head{display:flex;align-items:center;gap:20px}.dialog-head h2{font-size:24px;letter-spacing:-.6px}.dialog-head button{margin-left:auto;border:0;background:none;font-size:30px;cursor:pointer}.wa-options{display:grid;gap:6px}.wa-options button{text-align:left;border:1px solid #dae3dd;border-radius:5px;padding:10px;background:#f5f9f6;cursor:pointer}.wa-options span{float:right}.detail{padding:75px 0;max-width:1000px}.detail .symbol{display:block;margin-top:25px}.detail-image{height:260px;overflow:hidden}.detail-image img{width:100%;height:100%;object-fit:cover}@media(max-width:800px){header{flex-wrap:wrap;gap:18px;padding:20px 5%}nav{order:3;width:100%;justify-content:space-between;gap:12px}.language{margin-left:auto}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 7%}.hero figure{height:330px}h1{letter-spacing:-2px}.grid{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr;gap:25px}.process{gap:20px}footer{flex-direction:column}}@media(max-width:500px){.grid,.process{grid-template-columns:1fr}.section{padding:50px 0}.contact{padding:55px 0}.process{padding-bottom:45px}form{grid-template-columns:1fr}.brand{font-size:18px}}

/* Photographic service cards */
.service{position:relative;display:block;padding:0;overflow:hidden;background:white}.service>img{display:block;width:100%;height:210px;object-fit:cover;transition:transform .3s}.service:hover>img{transform:scale(1.035)}.service-caption{display:block;padding:20px 24px}.service>span:last-child{position:absolute;right:20px;bottom:18px}.service h3{padding-right:12px}.service p{padding-right:12px}.detail-image{height:420px}.detail-image img{object-position:center}.service-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;padding:65px 0}.service-detail li{margin:14px 0;color:var(--muted)}.quote-guide{background:var(--paper);padding:30px;border-radius:10px}.service-faq{padding:0 0 65px}.service-faq details{border-bottom:1px solid #dce2e5;padding:18px 0}.service-faq summary{cursor:pointer;font-weight:600}.service-faq p{color:var(--muted);max-width:800px}.service-detail h2{font-size:30px}@media(max-width:700px){.service-detail{grid-template-columns:1fr;gap:25px}.service>img{height:180px}.detail-image{height:280px}}

.service-story{padding:65px 0 0;max-width:1000px}.service-story h2{max-width:850px}.service-story p{max-width:850px;color:var(--muted);font-size:17px}.service-story h3{margin-top:28px}.service-story li{margin:10px 0}.service-story details{padding:20px 0;border-bottom:1px solid #dce2e5}.service-story summary{font-weight:600;cursor:pointer}.local-note{background:var(--paper);border-left:3px solid var(--amber);padding:20px}


.whatsapp{display:flex;align-items:center;gap:10px}.is-selected{border-color:#138647!important;background:#dff3e5!important;font-weight:700}.service-whatsapp{color:var(--ink);background:white;cursor:pointer}
/* Navigation and language selection */
header nav a{position:relative;padding:8px 0;color:#d5dfe7;transition:color .2s}header nav a:hover,header nav a.is-active{color:var(--amber)}header nav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--amber)}
.language{display:inline-flex;align-items:center;gap:3px;padding:4px;border:1px solid #ffffff30;border-radius:999px;background:#ffffff0b;color:white;white-space:nowrap}.language a{display:block;padding:7px 13px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.2;transition:background .2s,color .2s}.language a:hover{background:#ffffff18}.language a.is-active{background:var(--amber);color:var(--navy);box-shadow:0 2px 6px #0002}
.service-chevron{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#f9bb4b25;font-size:25px;line-height:1;transition:background .2s,transform .2s}.service:hover .service-chevron{background:var(--amber);transform:translateX(3px)}.service-caption{padding-right:58px}.service-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:9px}.service-whatsapp svg{width:20px;height:20px;flex-shrink:0;color:#138647}
@media(max-width:500px){header{gap:14px}.language a{padding:7px 10px}header nav{font-size:13px}}
/* Keep navigation available while scrolling; leave space for anchor targets. */
header{position:sticky;top:0;z-index:100;box-shadow:0 3px 14px #09233918}html{scroll-padding-top:110px}section[id]{scroll-margin-top:20px}.studio-credit{font-weight:600}.studio-credit:hover{text-decoration:underline;text-underline-offset:3px}@media(max-width:800px){html{scroll-padding-top:165px}}
/* Compact service-page rhythm */
.service-header{padding:30px 0 32px}.service-back{font-size:13px;color:var(--muted)}.service-title{display:flex;align-items:center;gap:16px;margin:18px 0 12px}.service-title h1{margin:0;font-size:clamp(34px,4vw,54px);line-height:1.12;letter-spacing:-1.8px}.service-title .symbol{display:block;margin:0;font-size:34px;line-height:1;flex-shrink:0}.service-header .lead{margin:0;max-width:850px}.service-header .actions{margin-top:20px}.service-page .detail-image{height:340px}.service-page .service-story{padding-top:36px}.service-page .service-story h2{margin:12px 0 18px}.service-page .service-story h3{margin-top:22px}.service-page .service-story details{padding:14px 0}.service-page .local-note{padding:16px}.service-page .service-detail{padding:32px 0;gap:36px}.service-page .service-detail li{margin:10px 0}.service-page .quote-guide{padding:24px}.service-page .service-faq{padding-bottom:30px}.service-page .service-faq details{padding:14px 0}.service-page .contact{padding:36px 0 48px;gap:45px}@media(max-width:700px){.service-header{padding:24px 0 28px}.service-title{gap:12px;margin-top:16px}.service-title h1{font-size:34px;letter-spacing:-1px}.service-title .symbol{font-size:28px}.service-page .detail-image{height:240px}.service-page .service-story{padding-top:28px}.service-page .service-detail{gap:20px;padding:24px 0}.service-page .contact{gap:24px;padding-top:28px}}
/* Mijas signature: architectural frame, warm accents and restrained motion. */
.hero{padding:0 24px 24px 0;gap:10px}.hero figure{border-radius:140px 8px 8px 8px;overflow:hidden;border:1px solid #ffffff30;box-shadow:0 14px 36px #0002}.hero figure::after{content:"";position:absolute;inset:14px;border:1px solid #fff6;border-radius:126px 3px 3px 3px;pointer-events:none}.hero .location-badge{position:absolute;z-index:1;right:28px;top:28px;display:flex;align-items:center;gap:9px;padding:9px 15px;border-radius:999px;background:var(--paper);color:var(--navy);font-size:12px;font-weight:650;letter-spacing:.5px;box-shadow:0 4px 20px #09233920}.location-dot{width:6px;height:6px;border-radius:50%;background:#b18330}.hero figcaption{z-index:1;bottom:25px;right:28px}.service-icon{width:34px;height:34px;display:block}.card-icon{display:inline-flex;color:#b18330;flex-shrink:0}.card-icon .service-icon{width:23px;height:23px}.service h3{display:flex;align-items:flex-start;gap:10px}.service-title .symbol{padding:10px;border:1px solid #b1833030;background:#f9bb4b12;border-radius:12px}.process{position:relative;gap:45px}.process>div{position:relative}.process>div::before{content:"";position:absolute;top:26px;left:62px;right:-25px;height:1px;background:linear-gradient(90deg,#b1833060,#b1833015)}.process>div:last-child::before{right:0}.process b{display:inline-grid;place-items:center;background:white;width:48px;position:relative;z-index:1}.button,.outline{transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px);box-shadow:0 5px 14px #b1833025}.outline:hover{background:#8195a512;transform:translateY(-2px)}.service,.process>div,.service-story,.service-detail,.about-band .wrap{transition:opacity .55s ease,transform .55s ease}.reveal-pending{opacity:0;transform:translateY(18px)}
@media(max-width:800px){.hero{padding:0 5% 24px;gap:0}.hero-copy{padding:45px 2%}.hero figure{border-radius:85px 8px 8px 8px}.hero figure::after{border-radius:72px 3px 3px 3px}.hero .location-badge{top:22px;right:22px}}
@media(max-width:500px){.process>div::before{display:none}.process{gap:24px}.service-title .symbol{padding:7px}.service-title .service-icon{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal-pending{opacity:1;transform:none}.service:hover,.button:hover,.outline:hover,.service:hover>img,.service:hover .service-chevron{transform:none}}
/* A compact, contained enquiry form */
.contact,.service-page .contact{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:32px;padding:44px 0}.contact>div{padding-top:18px}.contact h2{font-size:clamp(28px,3vw,38px);margin:12px 0}.contact>div p{font-size:14px;max-width:330px}.contact form{background:var(--paper);border:1px solid #e3e6e4;border-top:3px solid var(--amber);border-radius:14px;padding:24px;gap:12px 16px;box-shadow:0 6px 22px #09233905}.contact label{font-size:12px}.contact input,.contact select,.contact textarea{padding:9px 11px;margin-top:5px;border-color:#d7dfe3;border-radius:7px;font-size:14px;line-height:1.5}.contact input,.contact select{min-height:42px}.contact textarea{min-height:86px;resize:vertical}.contact input:focus,.contact select:focus,.contact textarea:focus{outline:2px solid #b18330;outline-offset:2px}.contact form p{font-size:12px;line-height:1.5;margin:0}.contact form p:empty{display:none}.contact form p a{text-decoration:underline;text-underline-offset:2px}.contact .contact-submit{grid-column:1/-1;justify-self:start;padding:10px 18px;margin-top:2px}.contact form ul{margin:0;font-size:13px}@media(max-width:800px){.contact,.service-page .contact{grid-template-columns:1fr;gap:16px;padding:32px 0}.contact>div{padding-top:0}.contact>div p{max-width:600px}.contact form{padding:20px}}@media(max-width:500px){.contact form{grid-template-columns:1fr;gap:12px;padding:18px}.contact .contact-submit{justify-self:stretch;min-height:44px}}
/* Service navigation: native disclosure with direct page links */
.services-menu{position:relative}.services-menu summary{list-style:none;position:relative;padding:8px 0;color:#d5dfe7;cursor:pointer;display:flex;align-items:center;gap:6px}.services-menu summary::-webkit-details-marker{display:none}.services-menu summary:hover,.services-menu summary.is-active,.services-menu[open] summary{color:var(--amber)}.services-menu summary:focus-visible{outline:2px solid var(--amber);outline-offset:5px;border-radius:3px}.services-menu summary.is-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--amber);border-radius:2px}.menu-chevron{transition:transform .2s}.services-menu[open] .menu-chevron{transform:rotate(180deg)}.services-dropdown{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%);width:560px;max-width:90vw;padding:16px;background:white;color:var(--ink);border:1px solid #e3e6e4;border-top:3px solid var(--amber);border-radius:12px;box-shadow:0 16px 45px #09233930;max-height:calc(100dvh - 130px);overflow-y:auto}.services-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}header nav .services-links a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:7px;color:var(--ink);font-size:13px;line-height:1.4}.services-links .service-icon{width:23px;height:23px;flex-shrink:0;color:#b18330}header nav .services-links a:hover,header nav .services-links a.is-current{background:var(--paper);color:var(--navy)}header nav .services-links a.is-current{box-shadow:inset 3px 0 var(--amber);font-weight:650}header nav .all-services{display:flex;justify-content:space-between;margin-top:10px;padding:12px 10px 4px;border-top:1px solid #e3e6e4;color:var(--ink);font-size:13px;font-weight:650}header nav .all-services:hover{color:#8a631c}@media(max-width:800px){header nav{position:relative}.services-menu{position:static}.services-dropdown{left:0;right:0;transform:none;width:auto;max-width:none;top:calc(100% + 12px);max-height:calc(100dvh - 170px)}}@media(max-width:500px){.services-links{grid-template-columns:1fr}.services-dropdown{padding:12px}header nav .services-links a{padding:9px 10px}}
/* Phone review: keep branding and languages on one row. */
@media(max-width:500px){header{padding:14px 5%;gap:12px}.brand{flex:1;min-width:0;font-size:16px;letter-spacing:2px}.brand small{max-width:220px;white-space:normal;font-size:9px;letter-spacing:.3px;line-height:1.5}.language{flex-shrink:0;margin-left:0}.language a{padding:7px 9px}header nav{gap:8px}header nav>a,.services-menu summary{min-height:44px;display:flex;align-items:center}.whatsapp{right:14px;bottom:14px;padding:12px 15px;gap:7px;font-size:13px}.whatsapp svg{width:22px;height:22px}html{scroll-padding-top:140px}.services-dropdown{max-height:calc(100dvh - 155px)}}
/* Preserve service photography on wide displays instead of cropping a full-width strip. */
.service-page .detail-image{width:min(1200px,90%);height:auto;aspect-ratio:16/9;margin:0 auto;overflow:hidden;border-radius:40px 10px 10px 10px;background:var(--paper)}.service-page .detail-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}@media(max-width:700px){.service-page .detail-image{height:auto;aspect-ratio:16/9;border-radius:24px 8px 8px 8px}}
