@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Italiana';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-3.ttf) format('truetype');
}

:root{--paper:#f4f0e9;--ink:#2c2522;--accent:#f2b892;--line:#d9d2c9;--serif:'Italiana',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #8b4f31;outline-offset:5px}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:var(--paper)}.wordmark{font-family:var(--serif);font-size:35px;line-height:1.2}.wordmark span{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:2.1px;margin-top:7px}nav{display:flex;gap:35px;font-size:14px}.nav-cta{border:1px solid var(--ink);padding:10px 23px;font-size:14px;border-radius:30px}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:690px}.hero-photo{position:relative;overflow:hidden;min-height:650px;background:#d7ccc2}.hero-photo>img{position:absolute;width:300%;height:100%;max-width:none;object-fit:cover;left:0;top:0}.photo-note{position:absolute;top:22px;left:25px;font-size:10px;letter-spacing:1.3px;padding:5px 9px;background:#f4f0e9cc}.image-signature{position:absolute;bottom:37px;left:9%;font-family:var(--serif);font-size:37px;line-height:1.1;color:white;text-shadow:0 1px 10px #2c252280}.hero-copy{padding:70px 11% 28px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;font-weight:500;letter-spacing:2.3px;margin-bottom:24px}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-weight:400;font-size:clamp(70px,7.5vw,115px);line-height:1.05;margin-bottom:27px;letter-spacing:-3px}h1 span{display:block;font-size:clamp(38px,3.7vw,57px);line-height:1.1;letter-spacing:-1px;margin-top:28px}em{font-family:Georgia,serif;font-weight:400;font-size:.94em}h2{font-family:var(--serif);font-weight:400;font-size:clamp(44px,4.7vw,68px);line-height:1.08;letter-spacing:-1.5px;margin-bottom:24px}.hero-copy>p{max-width:370px;color:#6a6058;line-height:1.8;margin-bottom:28px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:49px;padding:12px 27px;border-radius:30px;font-size:14px;border:0;align-self:flex-start}.dark{background:var(--ink);color:var(--paper)}.button:hover{background:#5a4439}.hero-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:54px;border-top:1px solid var(--line);padding-top:20px;font-size:11px;letter-spacing:1px}.hero-bottom a{border-bottom:1px solid;font-size:12px;letter-spacing:0}.marquee{display:flex;justify-content:space-around;align-items:center;gap:15px;padding:25px 4%;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:30px}.marquee i{font-size:18px;font-style:normal;color:#a77a5c}.section{padding:100px 7%;max-width:1600px;margin:auto}.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;padding-top:115px;padding-bottom:115px}.intro-text{max-width:550px}.intro-text p{color:#6a6058}.intro-text .large{font-size:27px;line-height:1.45;color:var(--ink);margin-bottom:25px}.signature{display:block;font:italic 36px Georgia;margin-top:27px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:38px}.section-heading h2{margin-bottom:0}.section-heading>p{color:#6a6058;max-width:350px}.services{padding-top:70px;background:#ebe5dc}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.service-grid article{padding:38px 34px;background:#f9f6f0;display:flex;flex-direction:column;min-height:400px}.number{font-size:12px;letter-spacing:2px;margin-bottom:35px}.service-grid h3{font-family:var(--serif);font-weight:400;line-height:1.08;font-size:44px;margin-bottom:25px}.service-grid p{color:#65594f;line-height:1.75}.service-grid a{margin-top:auto;align-self:flex-start;border-bottom:1px solid;padding-bottom:3px;font-size:14px}.service-grid .apricot{background:var(--accent)}.service-grid .espresso{background:var(--ink);color:var(--paper)}.espresso p{color:#d5ccc2}.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:9px}.filters button{background:none;border:1px solid transparent;color:var(--ink);padding:8px 16px;border-radius:30px;font-size:14px}.filters .active{border-color:var(--ink)}.demo-caption{font-size:13px;color:#786c62;margin-bottom:25px}.look-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.look{border:0;background:none;text-align:left;padding:0;color:var(--ink)}.look-image{height:440px;overflow:hidden;position:relative;background:#ded4c8}.look-image img,.dialog-image img{position:absolute;max-width:none;width:300%;height:100%;object-fit:cover;transition:transform .6s}.look-image.day img,.look-image.bridal img{left:-100%}.look-image.evening img{left:-200%}.look:hover img{transform:scale(1.025)}.look-grid > .look:nth-child(2){padding-top:48px}.look-caption{padding:20px 0}.look-caption h3{font:30px var(--serif);margin-bottom:4px}.look-caption span{font-size:10px;letter-spacing:1.7px}.look[hidden]{display:none}.experience{text-align:center;background:var(--ink);color:var(--paper)}.experience h2{max-width:750px;margin:0 auto 65px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;text-align:left}.steps article{border-top:1px solid #71675d;padding-top:25px}.steps span{color:var(--accent);font:29px var(--serif)}.steps h3{font-size:19px;font-weight:400;margin:20px 0 12px}.steps p{color:#c9bfb4;max-width:320px}.booking-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:60px;margin-top:55px}.calendar{background:#eae3d9;padding:28px;align-self:start}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-head h3{font:25px var(--serif);margin:0}.calendar-head button{width:36px;height:36px;background:transparent;border:1px solid #b9aea0;border-radius:50%;font-size:25px;line-height:1}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.weekdays{font-size:12px;margin-bottom:13px}.days button{border:0;background:#f8f4ed;aspect-ratio:1;min-height:36px;border-radius:50%;font-size:14px;color:var(--ink)}.days button:disabled{color:#a4988b;background:transparent;text-decoration:line-through;cursor:default}.days button.selected{background:var(--ink);color:white}.legend{display:flex;gap:22px;font-size:12px;margin-top:25px}.legend i{display:inline-block;width:9px;height:9px;border:1px solid #9b8d7e;border-radius:50%;margin-right:7px;background:#f8f4ed}.legend .occupied{background:#b8ad9e}.calendar-note,.form-note{font-size:12px;line-height:1.6;color:#76695f;margin-top:20px}.form-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}label{display:block;font-size:13px;margin-bottom:20px}input,select,textarea{display:block;width:100%;padding:12px 0;background:none;border:0;border-bottom:1px solid #bdb1a4;border-radius:0;outline-offset:1px;color:var(--ink);font-size:15px;margin-top:6px}textarea{resize:vertical}.form-note{margin:0 0 20px}#form-status{font-size:14px;margin-top:18px;padding:0;max-width:520px}#form-status:not(:empty){padding:16px;background:#eae3d9;border-left:3px solid #9b694a}.faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:80px;background:#ebe5dc}details{border-bottom:1px solid #bdb2a5;padding:20px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:17px}summary:after{content:'+';font-size:23px}details[open] summary:after{content:'−'}details p{font-size:15px;color:#65594f;margin:16px 28px 0 0}footer{padding:55px 7% 23px;background:#dfd5c7}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:50px}.footer-brand{font:64px var(--serif);letter-spacing:-2px}.footer-top>div{font-size:12px;letter-spacing:1.5px}.footer-top span{font-size:13px;letter-spacing:0;display:block;margin-top:10px}.footer-top>a:last-child{font-size:14px;border-bottom:1px solid}.footer-bottom{border-top:1px solid #b9ac9b;padding-top:20px;display:flex;justify-content:space-between;font-size:12px;gap:15px}.footer-bottom button{font-size:12px;border:0;background:none;color:inherit;margin-left:15px}dialog{border:0;background:var(--paper);color:var(--ink);padding:30px;max-width:min(550px,90vw);max-height:90vh}dialog::backdrop{background:#1d1716bb}.close{position:absolute;top:10px;right:12px;border:0;border-radius:50%;width:35px;height:35px;background:var(--paper);color:var(--ink);font-size:24px;z-index:2}.dialog-image{width:350px;max-width:75vw;height:460px;position:relative;overflow:hidden}dialog h3{font:32px var(--serif);margin:20px 0 10px}dialog p{font-size:14px;max-width:390px}#legal-dialog h2{font-size:40px;padding-right:30px}body:has(dialog[open]){overflow:hidden}@media(min-width:1600px){.hero{max-height:850px}.hero-copy{padding-left:15%;padding-right:15%}}@media(max-width:1000px){.hero-copy{padding:50px 8% 25px}.hero{min-height:590px}.hero-photo{min-height:590px}.hero-bottom{flex-direction:column;margin-top:35px;align-items:start}.section{padding:70px 5%}.intro{gap:45px}.service-grid article{padding:28px 23px}.service-grid h3{font-size:35px}.look-image{height:340px}.booking-grid{gap:30px}.steps{gap:25px}.footer-brand{font-size:50px}}@media(max-width:700px){html{scroll-padding-top:20px}header{height:85px;padding:0 6%}nav{display:none}.wordmark{font-size:31px}.nav-cta{padding:8px 17px;font-size:13px}.hero{display:flex;flex-direction:column}.hero-photo{height:470px;min-height:0}.hero-copy{padding:40px 7%}.hero h1{font-size:82px}.hero h1 span{font-size:43px}.hero-copy>p{max-width:none}.hero-bottom{flex-direction:row;width:100%;margin-top:35px;gap:10px}.image-signature{font-size:33px;bottom:30px}.photo-note{font-size:9px}.marquee{font-size:22px;gap:8px;padding:20px 3%}.marquee i{font-size:12px}.marquee span:last-of-type,.marquee i:last-child{display:none}.section{padding:60px 7%}h2{font-size:48px}.intro,.faq{grid-template-columns:1fr;gap:15px}.intro-text .large{font-size:24px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:25px}.service-grid{grid-template-columns:1fr;gap:15px;margin-top:35px}.service-grid article{min-height:0;padding:30px}.number{margin-bottom:20px}.service-grid h3{font-size:41px}.service-grid a{margin-top:15px}.look-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.look-image{height:270px}.look-grid > .look:nth-child(2){padding-top:30px}.look-grid > .look:nth-child(3){grid-column:1 / -1;max-width:65%;width:100%;margin:0 auto}.look-caption h3{font-size:25px}.look-caption span{font-size:9px}.filters{margin:27px 0 0}.filters button{padding:7px 13px}.steps{grid-template-columns:1fr;gap:25px;margin-top:40px}.experience h2{margin-bottom:40px}.steps article{display:grid;grid-template-columns:45px 1fr;gap:0 15px}.steps h3{margin:0}.steps p{grid-column:2;max-width:none;margin-top:10px}.booking-grid{grid-template-columns:1fr;gap:35px;margin-top:30px}.calendar{padding:25px}.form-pair{gap:15px}.form-pair label{min-width:0}.faq{gap:20px}.footer-top{flex-direction:column;align-items:start;gap:25px;padding-bottom:35px}.footer-brand{font-size:68px}.footer-bottom{flex-wrap:wrap}.footer-bottom>div{width:100%;margin-left:-15px}.dialog-image{height:420px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* La Juléa identity, persistent navigation and 2027 services. */
.logo-filter{position:absolute;width:0;height:0;overflow:hidden}.brand-logo{display:block;width:100%;height:auto;filter:none;mix-blend-mode:multiply}header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);height:112px;padding:0 4%;box-shadow:0 3px 12px #2c252205}header nav{grid-column:1;grid-row:1;gap:22px}header .wordmark{grid-column:2;grid-row:1;width:238px;line-height:1;isolation:auto}header .nav-cta{grid-column:3;grid-row:1;justify-self:end}.menu-toggle{display:none}html{scroll-padding-top:135px}.footer-brand{width:280px}.prices{background:#f4f0e9;padding-top:85px}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:45px}.price-card{border:1px solid var(--line);padding:32px 28px;display:flex;flex-direction:column;min-width:0}.price-card.bridal-prices{background:#ebe5dc;border-color:#ebe5dc}.price-card h3{font-family:var(--serif);font-size:39px;font-weight:400;line-height:1.15;margin-bottom:25px}.package-price{display:flex;justify-content:space-between;align-items:end;gap:10px}.package-price h3{margin-bottom:0}.package-price>span{font-family:var(--serif);font-size:35px;white-space:nowrap;line-height:1.2}.price-description{font-size:14px;color:#6a6058;margin:17px 0 0}.price-card dl{margin:20px 0 24px}.price-card dl>div{display:flex;justify-content:space-between;gap:14px;padding:19px 0;border-bottom:1px solid var(--line)}.price-card dt{font-size:15px;line-height:1.4}.price-card dt small{display:block;color:#6a6058;font-size:12px;line-height:1.5;margin-top:6px}.price-card dd{margin:0;white-space:nowrap;font-size:18px;font-weight:500}.price-card .button{margin-top:auto}.travel-price{display:flex;align-items:baseline;gap:35px;border-top:1px solid var(--line);margin-top:30px;padding-top:22px;font-size:14px}.travel-price>span{font-weight:500}.travel-price p{margin:0;color:#6a6058}.travel-price strong{color:var(--ink);font-weight:500}.faq details a{border-bottom:1px solid}.price-card .eyebrow{margin-bottom:30px}@media(max-width:1100px){header nav{gap:14px;font-size:13px}header .wordmark{width:210px}.price-card{padding:26px 20px}.price-card h3{font-size:33px}.package-price{align-items:start;flex-direction:column}.package-price>span{margin-top:12px}}@media(max-width:850px){header{padding:0 5%;height:98px}header .wordmark{width:205px}.menu-toggle{display:block;grid-column:1;grid-row:1;justify-self:start;background:none;border:0;border-bottom:1px solid var(--ink);padding:5px 0;font-size:14px;color:var(--ink)}header nav{display:none;position:absolute;left:0;right:0;top:100%;padding:22px 5%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 10px 18px #2c252210;gap:25px;font-size:16px}header.menu-open nav{display:flex;flex-wrap:wrap}.price-grid{grid-template-columns:1fr;gap:18px}.price-card{padding:30px}.price-card h3{font-size:40px}.package-price{flex-direction:row;align-items:end}.package-price>span{font-size:42px;margin:0}.price-card dl{margin-top:10px}.price-card dt{font-size:16px}.travel-price{align-items:start;gap:20px}}@media(max-width:500px){header{height:86px;padding:0 4%}header .wordmark{width:168px}header .nav-cta{padding:9px 11px;font-size:12px}.menu-toggle{font-size:13px}.prices{padding-top:60px}.price-card{padding:25px}.travel-price{display:block}.travel-price p{margin-top:10px}html{scroll-padding-top:108px}}@media(max-width:350px){header .wordmark{width:138px}.nav-cta{max-width:74px;text-align:center}.package-price{flex-direction:column;align-items:start}.package-price>span{margin-top:12px}}
.price-card dd.price-on-request{font-size:13px;white-space:normal;max-width:100px;text-align:right;line-height:1.5}.instagram-link{display:inline-block;margin-top:16px;padding-bottom:3px;border-bottom:1px solid var(--ink);font-size:13px;letter-spacing:0}
/* A real Bridal story, with clearly credited Makeup and Hairstyling. */
.bridal-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;background:#eae3d9;margin:45px 0 55px}.bridal-cover{position:relative;align-self:stretch;overflow:hidden;min-height:640px}.bridal-cover>img{display:block;position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:transform .6s}.bridal-cover>span{position:absolute;bottom:24px;left:24px;right:24px;background:#f4f0e9ec;padding:13px 18px;text-align:center;font-size:11px;letter-spacing:1.5px}.bridal-story-copy{padding:45px 40px;display:flex;flex-direction:column;justify-content:center}.bridal-story-copy h3{font-family:var(--serif);font-size:44px;font-weight:400;line-height:1.13;margin:0 0 25px}.bridal-story-copy .eyebrow{font-size:11px;line-height:1.7;letter-spacing:1.6px}.bridal-story-copy p{font-size:15px;color:#6a6058}.bridal-story-copy .work-credit{font-size:17px;color:var(--ink);font-weight:500;line-height:1.5;margin-bottom:18px}.bridal-tags{display:flex;gap:10px;margin:8px 0 25px}.bridal-tags>span{font-size:12px;border:1px solid #c1b5a7;border-radius:20px;padding:4px 12px}.bridal-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 28px}.bridal-thumb{min-width:0}.bridal-thumb img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:opacity .3s}.bridal-thumb:hover img{transform:none;opacity:.8}.bridal-thumb>span{display:block;line-height:1.4;margin-top:7px;font-size:10px;color:#6a6058}.story-request{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:3px;align-self:start;margin-top:5px}.secondary-looks{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px;margin:0 auto}.secondary-looks .look-image{height:400px}.secondary-looks .look:nth-child(2){padding-top:35px}.portfolio-item[hidden]{display:none!important}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:15px}.gallery-controls[hidden]{display:none}.gallery-controls button{width:42px;height:42px;border:1px solid #b9aea0;border-radius:50%;background:none;font-size:27px;line-height:1;color:var(--ink)}.gallery-controls span{font-size:14px}#look-dialog.real-photo{max-width:min(700px,94vw);padding:28px}#look-dialog.real-photo .dialog-image{width:min(530px,78vw);height:min(62vh,670px);overflow:hidden}#look-dialog.real-photo .dialog-image img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain}#look-dialog.real-photo h3{font-size:28px;margin-top:16px}#look-dialog.real-photo p{margin-bottom:0}@media(max-width:1000px){.bridal-cover{min-height:580px}.bridal-story-copy{padding:35px 26px}.bridal-story-copy h3{font-size:37px}.bridal-thumbs{gap:6px}.secondary-looks .look-image{height:340px}}@media(max-width:700px){.bridal-story{grid-template-columns:1fr;margin:30px 0 40px}.bridal-cover{min-height:0;height:auto}.bridal-cover>img{position:static;aspect-ratio:3/4;height:auto;object-fit:cover}.bridal-story-copy{padding:30px 24px}.bridal-story-copy h3{font-size:37px}.bridal-story-copy .eyebrow{font-size:10px}.bridal-thumbs{gap:7px}.secondary-looks .look-image{height:270px}.secondary-looks .look:nth-child(2){padding-top:25px}.secondary-looks .look-caption span{font-size:9px;letter-spacing:1px}#look-dialog.real-photo{padding:24px 18px}#look-dialog.real-photo .dialog-image{width:78vw;height:56vh}}
/* Keep the complete Bridal cover centered within its left-hand frame. */
.bridal-cover{min-height:0;height:clamp(420px,46vw,620px);align-self:center;text-align:center}.bridal-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%}.bridal-cover:hover>img{transform:none}@media(max-width:700px){.bridal-cover{height:auto;aspect-ratio:3/4;width:100%}.bridal-cover>img{position:absolute;height:100%;aspect-ratio:auto;object-fit:contain;object-position:50% 50%}}
/* Switch between Bridal series without adding stacked stories. */
.bridal-selector{display:flex;flex-wrap:wrap;gap:12px;margin:35px 0 18px}.bridal-selector>button{display:flex;align-items:center;gap:15px;text-align:left;min-width:235px;background:none;border:1px solid var(--line);padding:8px 18px 8px 8px;color:var(--ink)}.bridal-selector>button.selected{border-color:var(--ink);background:#eae3d9}.bridal-selector img{display:block;width:54px;height:66px;object-fit:cover;object-position:center 35%}.bridal-selector span{font-size:15px;font-weight:500;line-height:1.4}.bridal-selector small{display:block;font-size:11px;font-weight:400;color:#6a6058;margin-top:5px}.bridal-story{margin-top:18px}.bridal-story-copy{min-height:580px}#bridal-story-title{min-height:100px}@media(max-width:700px){.bridal-selector{flex-wrap:nowrap;gap:8px;margin:28px 0 15px}.bridal-selector>button{min-width:0;flex:1;gap:8px;padding:7px;align-items:center}.bridal-selector img{width:40px;height:55px}.bridal-selector span{font-size:13px}.bridal-selector small{font-size:10px;line-height:1.4}.bridal-story-copy{min-height:0}#bridal-story-title{min-height:0}}
/* Small-screen layout: prevent intrinsic form widths and thumbnail rules from expanding the page. */
html{width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{width:100%;max-width:100%}main,header,.section,.hero-copy,.intro-text,.booking-grid>*,.form-pair>*,.faq>*,.bridal-story>*{min-width:0}input,select,textarea{min-width:0;max-width:100%;font-size:16px}.form-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.weekdays,.days{grid-template-columns:repeat(7,minmax(0,1fr))}.days button{min-width:0}.bridal-thumb{grid-column:auto;width:100%;max-width:100%;margin:0;padding:0;align-self:start}.bridal-thumb img{aspect-ratio:3/4;height:auto;max-width:100%}.bridal-thumbs{align-items:start}.bridal-selector>button{min-width:0}.bridal-selector>button>span{min-width:0}.hero-bottom{flex-wrap:wrap}@media(max-width:700px){.booking-grid,.intro,.faq,.service-grid,.bridal-story{grid-template-columns:minmax(0,1fr)}.secondary-looks{grid-template-columns:repeat(2,minmax(0,1fr))}.bridal-thumbs{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.bridal-thumb>span{overflow-wrap:anywhere}.bridal-story-copy{padding:26px 20px}.bridal-cover>span{left:16px;right:16px;font-size:10px;letter-spacing:1px}#main-nav a{min-height:40px;display:flex;align-items:center}.calendar{padding:20px}.photo-note{max-width:calc(100% - 50px)}}@media(max-width:420px){.form-pair{grid-template-columns:minmax(0,1fr);gap:0}.hero h1{font-size:clamp(62px,19vw,78px)}.hero h1 span{font-size:clamp(34px,10vw,42px)}.bridal-selector img{flex:none}.bridal-selector span{font-size:12px}.bridal-story-copy h3{font-size:clamp(29px,9vw,37px)}}
/* Genuine evening and day looks, with service credits for each photo. */
.secondary-looks{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:24px}.actual-look .look-image>img{position:static;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center 45%}.actual-look .look-caption p{font-size:13px;color:#6a6058;line-height:1.5;margin:10px 0 0}.actual-look .look-caption span{letter-spacing:1px;line-height:1.6;display:block}.input-hint{display:block;color:#76695f;font-size:12px;margin-top:7px;line-height:1.5}.optional-label{font-size:12px;color:#76695f}@media(max-width:700px){.secondary-looks{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.actual-look .look-caption h3{font-size:27px}.actual-look .look-image{height:270px}.actual-look .look-caption p{font-size:12px}}
/* Every category uses the same compact gallery presentation. */
.other-title{min-height:100px}.other-thumbs{grid-template-columns:repeat(5,minmax(0,1fr))}.other-story .bridal-cover>span{letter-spacing:1.3px}@media(max-width:700px){.other-title{min-height:0}.other-selector>button:only-child{flex:0 1 auto;min-width:180px}}

/* Shooting offers and compact photo strips. */
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shooting-service{background:#eae3d9}.filters{display:flex;flex-wrap:wrap;gap:8px}.shooting-price{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px;margin-top:24px;border:1px solid var(--line)}.shooting-price h3{font-family:var(--serif);font-size:32px;font-weight:400;margin:10px 0}.shooting-price p{max-width:650px;margin:0;color:#6a6058}.shooting-price .button{flex:none}.shooting-story .other-thumbs{display:flex;gap:9px;overflow-x:auto;padding:0 0 12px;max-width:100%;scroll-snap-type:x proximity}.shooting-story .bridal-thumb{flex:0 0 62px;scroll-snap-align:start}.shooting-story .bridal-thumb>span{font-size:12px}.shooting-story .bridal-thumb img{object-fit:contain;background:#e6dfd4}.shooting-story .other-title{min-height:0}.shooting-story .bridal-story-copy{min-width:0}.travel-price p{max-width:720px}@media(max-width:700px){.service-grid{grid-template-columns:minmax(0,1fr)}.shooting-price{align-items:start;flex-direction:column;padding:24px 20px}.shooting-story .bridal-thumb{flex-basis:64px}.filters{justify-content:flex-start;max-width:100%}.filters button{font-size:14px}.shooting-price h3{font-size:30px}}

.portfolio-note{max-width:760px;margin:28px 0;padding-left:18px;border-left:2px solid #c1b5a7}.portfolio-note strong{font-size:17px;font-weight:500}.portfolio-note p{font-size:16px;line-height:1.65;color:#6a6058;margin:8px 0 0}

.other-selector{display:flex;flex-wrap:wrap}.other-selector>button{flex:0 1 260px;min-width:0}.photographer-credit{font-size:13px!important;line-height:1.5;color:#6a6058!important;margin-top:8px}@media(max-width:700px){.other-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.other-selector>button,.other-selector>button:only-child{min-width:0;width:100%}.other-selector small{font-size:12px}.other-selector>button:only-child{grid-column:1/-1;max-width:270px}}@media(max-width:360px){.other-selector{grid-template-columns:minmax(0,1fr)}}

#legal-text{white-space:pre-line}

/* Booking process and readable agreement draft */
.tax-note{font-size:.83rem;line-height:1.6;margin-top:22px;color:#70675f}.booking-process{background:#ece5db}.booking-policy{max-width:820px;margin-top:40px;line-height:1.7}.booking-policy p{margin-bottom:18px}.draft-note{font-size:.85rem;color:#70675f}.footer-bottom a{font-size:inherit;color:inherit;margin-left:18px}.terms-header{display:flex;justify-content:space-between;gap:18px}.terms-header .wordmark{position:static;transform:none;font-family:Italiana,serif;font-size:30px}.terms-header>a:first-child{font-size:.85rem}.terms-content{max-width:880px;margin:0 auto;padding:150px 32px 90px}.terms-content h1{font-size:clamp(42px,7vw,72px);margin:20px 0 32px}.terms-draft{background:#e9e1d6;padding:24px;margin-bottom:28px;line-height:1.7}.terms-intro{margin:24px 0 36px;line-height:1.7}.terms-topic{border-top:1px solid #d6cfc5;padding:24px 0}.terms-topic h2{font-family:'DM Sans',sans-serif;font-size:1.12rem;line-height:1.5;margin:0 0 12px}.terms-topic p{line-height:1.8;margin:0}.terms-page .button{white-space:normal;text-align:center}@media(max-width:600px){.terms-header{padding:18px 20px}.terms-header .wordmark{font-size:25px}.terms-header .nav-cta{font-size:11px;padding:10px}.terms-content{padding:120px 24px 60px}.terms-draft{padding:20px}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:12px}.footer-bottom a{margin:0}.booking-policy{margin-top:26px}}

/* Julyana's real portraits, with distinct desktop and mobile framing. */
.hero-photo>img{width:100%;height:100%;left:0;object-fit:cover;object-position:50% 0}.hero-photo{background:#a9a69d}.image-signature{font-size:31px;bottom:28px;left:7%;text-shadow:0 2px 12px #0009}.intro{align-items:center;gap:clamp(35px,6vw,90px)}.intro-portrait figure{margin:30px 0 0;max-width:450px}.intro-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 28%}.intro-portrait figcaption{font-size:14px;color:#6a6058;margin-top:14px}.intro-text .large{font-size:26px}.brand-story{margin-top:30px;padding-top:27px;border-top:1px solid var(--line)}.brand-story .eyebrow{font-size:12px;margin-bottom:16px}.brand-story h3{font-family:var(--serif);font-size:38px;font-weight:400;line-height:1.1;margin-bottom:20px}@media(max-width:700px){.hero-photo{min-height:0;height:auto;aspect-ratio:4/5}.hero-photo>img{object-position:50% 0}.intro{gap:30px}.intro-portrait figure{max-width:100%;margin-top:26px}.intro-portrait img{aspect-ratio:4/5}.intro-text .large{font-size:24px}.brand-story h3{font-size:34px}.image-signature{font-size:27px}}

.hero-photo>img,.intro-portrait img{filter:brightness(1.015) contrast(.97) saturate(.97)}

/* Readable Bridal booking steps on their light background. */
.booking-process .steps{gap:clamp(24px,3vw,46px);align-items:start}.booking-process .steps article{border-top-color:#b9afa3}.booking-process .steps span{color:#684d3c;font-size:1.8rem}.booking-process .steps h3{color:#2c2522;font-size:1.25rem;font-weight:500;line-height:1.4}.booking-process .steps p{color:#453d36;font-size:1rem;line-height:1.8;max-width:none}.booking-process .booking-policy{color:#453d36;font-size:1rem;line-height:1.8}.booking-process .booking-policy strong{color:#2c2522}.booking-process .draft-note{color:#51483f;font-size:1rem;line-height:1.8;background:#f4f0e9;padding:18px 22px;border-left:2px solid #b9afa3}.booking-process .story-request{font-size:1rem;line-height:1.6}@media(max-width:700px){.booking-process .steps{gap:30px}.booking-process .steps article{grid-template-columns:36px minmax(0,1fr);gap:0 14px}.booking-process .steps h3{margin:0}.booking-process .steps p{margin-top:12px}.booking-process .draft-note{padding:16px}}

/* Gallery additions and the product kit */
.bridal-selector[data-category="bridal"]{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.bridal-selector[data-category="bridal"]>button{flex:1 0 220px}.bridal-story[data-category="bridal"] .bridal-thumbs{display:flex;overflow-x:auto;gap:9px;padding-bottom:8px}.bridal-story[data-category="bridal"] .bridal-thumb{flex:0 0 74px}.bridal-story[data-category="bridal"] .bridal-thumb img{height:98px;object-fit:cover}.products{background:#eae3d9}.products h2{font-family:var(--serif);font-size:clamp(38px,5vw,64px);font-weight:400;line-height:1.1;margin:20px 0}.products>p{max-width:710px;font-size:17px;line-height:1.8;color:var(--ink)}.product-brands{display:flex;flex-wrap:wrap;align-items:center;gap:28px 45px;border-top:1px solid var(--line);padding-top:30px;margin-top:30px}.product-brands>span{font-size:22px}.product-brands small{display:block;font-size:12px;margin-top:8px}.men-price p{color:var(--ink);line-height:1.8}@media(max-width:600px){.bridal-selector[data-category="bridal"]>button{flex:0 0 200px}.product-brands{gap:25px}.product-brands>span{font-size:18px}}

.travel-price>div{flex:1;min-width:0}.travel-price h3{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.25;margin:0 0 14px}.travel-price>div p{margin:0 0 12px;line-height:1.8;color:var(--ink)}

.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-note a{text-decoration:underline}button:disabled{opacity:.55;cursor:not-allowed}

/* Keep navigation steady and opaque, including Safari scrolling. */
body{padding-top:112px}
body>header{position:fixed;inset:0 0 auto;z-index:100;background:#f4f0e9;isolation:isolate;opacity:1;transition:none}
header .wordmark,header .brand-logo{opacity:1;transition:none}
header .brand-logo{filter:none;mix-blend-mode:multiply}
.terms-content{padding-top:48px}
.terms-topic a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.footer-bottom{flex-wrap:wrap;gap:16px}
@media(max-width:850px){body{padding-top:98px}}
@media(max-width:600px){.terms-content{padding-top:34px}}
@media(max-width:500px){body{padding-top:86px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Secondary hosting details remain readable at the end of the privacy page. */
.terms-topic.hosting-info h2{font-size:1rem}
.terms-topic.hosting-info p{font-size:.875rem;line-height:1.8;color:#65594f}

/* The same centered logo on all customer pages. */
.terms-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.terms-header>a:first-child{grid-column:1;grid-row:1;justify-self:start}
.terms-header .wordmark{grid-column:2;grid-row:1}
@media(max-width:600px){.terms-header{padding-left:4%;padding-right:4%}.terms-header>a:first-child{font-size:.75rem}.terms-header .nav-cta{font-size:.75rem;padding:9px 10px}}

.styling-time-note{font-size:.9375rem;line-height:1.75;color:#51483f;background:#eae3d9;padding:18px 20px;margin:0 0 24px}.styling-time-note strong{color:var(--ink)}

/* Consistent gallery cues and touch-friendly navigation. */
.gallery-invitation{font-size:.9375rem;color:#51483f;line-height:1.7;margin:0 0 22px;max-width:760px}
.bridal-selector{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
.bridal-selector>button{flex-shrink:0;scroll-snap-align:start}
.bridal-cover>span{border:1px solid #b5a595;background:#f4f0e9;box-shadow:0 3px 14px #2c25221a;font-size:.8125rem;letter-spacing:1px;transition:background .2s,box-shadow .2s}
.bridal-cover:focus-visible>span{background:#e7dacb;box-shadow:0 4px 18px #2c25222a}
@media(hover:hover){.bridal-cover:hover>span{background:#e7dacb;box-shadow:0 4px 18px #2c25222a}}
.gallery-controls{min-height:44px}.gallery-controls button{min-width:44px;min-height:44px}
.gallery-gesture-hint{font-size:.875rem;line-height:1.6;color:#65594f;margin:10px 0 0}
#look-dialog .dialog-image{touch-action:pan-y pinch-zoom}
@media(max-width:700px){.bridal-cover>span{font-size:.75rem;letter-spacing:.8px;padding:12px}.gallery-invitation{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){.bridal-cover>span{transition:none}}

/* All look selectors use one horizontal row, also on narrow screens. */
.bridal-selector.other-selector{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity}
.bridal-selector.other-selector>button,.bridal-selector.other-selector>button:only-child{flex:0 0 220px;width:auto;min-width:0;max-width:none;scroll-snap-align:start}
.bridal-story .bridal-thumbs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:9px;scroll-snap-type:x proximity;max-width:100%;padding-bottom:8px}
.bridal-story .bridal-thumbs>.bridal-thumb{flex:0 0 74px;width:74px;scroll-snap-align:start}
@media(max-width:700px){.bridal-selector.other-selector>button,.bridal-selector.other-selector>button:only-child{flex-basis:200px}}

/* Readable small text and stable touch targets, without changing the palette. */
.calendar-note,.form-note,.input-hint,.optional-label{font-size:.875rem;line-height:1.7}
form label{font-size:.875rem}.bridal-story-copy p{font-size:1rem}
.bridal-selector small,.bridal-thumb>span{font-size:.75rem;line-height:1.5}
.calendar-head button,.close{min-width:44px;min-height:44px}
#bridal-time-note[hidden]{display:none}
.admin-page{padding-top:0}
@media(max-width:700px){.bridal-selector span{font-size:.875rem}.bridal-selector small,.bridal-story-copy .eyebrow{font-size:.75rem}.brand-story h3{line-height:1.25}}
@media(max-width:350px){.terms-header{gap:6px}.terms-header>a:first-child{max-width:50px;line-height:1.4}.terms-header .nav-cta{padding:8px;max-width:72px}}

/* A compact language choice preserves the centred logo at every size. */
header .header-actions{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:18px;min-width:0}
header .language-switch{display:flex;position:static;gap:7px;padding:0;border:0;box-shadow:none;background:transparent;font-size:13px;line-height:1.4;flex-wrap:nowrap}
.language-switch a{padding:8px 0;min-height:34px;display:inline-flex;align-items:center}
.language-switch a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}
.language-switch span{align-self:center;color:#70675f}
@media(max-width:1100px){header .header-actions{gap:10px}}
@media(max-width:850px){header .header-actions{flex-direction:column-reverse;gap:0}header.menu-open .language-switch{display:flex}}
@media(max-width:500px){header .header-actions .nav-cta{font-size:12px;padding:6px 10px}header .language-switch{font-size:12px;gap:6px;line-height:1}.language-switch a{min-height:24px;padding:4px 0}}
html[lang="en"] .weekdays{font-size:12px}

/* Keep each English slogan intact in one horizontal row. */
html[lang="en"] .marquee{flex-wrap:nowrap}
html[lang="en"] .marquee span,html[lang="en"] .marquee i{white-space:nowrap;flex-shrink:0}
@media(max-width:700px){
 html[lang="en"] .marquee{justify-content:center;font-size:clamp(17px,4.7vw,22px);gap:clamp(4px,1.4vw,8px)}
 html[lang="en"] .marquee i{font-size:10px}
 html[lang="en"] .marquee i:nth-last-child(3){display:none}
}
