/*
Theme Name: Emilie Bach Studio
Description: An editorial wedding photography theme for Emilie Bach. Includes editable WordPress block page drafts, a curated portfolio, and a simple inquiry form.
Version: 1.0.3
Author: Emilie Bach Photography
Text Domain: emilie-bach-studio
Requires at least: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
*/
:root{--paper:#f8f7f2;--ink:#343b31;--muted:#666d61;--line:#d6d8cf;--wash:#e9ebe3;--serif:'Bodoni 72','Didot','Iowan Old Style','Palatino Linotype',Georgia,serif;--sans:'Helvetica Neue',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;font-weight:400;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:6px}button{color:inherit}img{max-width:100%;display:block;height:auto}figure,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.04em;margin:0}h1{font-size:clamp(52px,6.8vw,98px)}h2{font-size:clamp(42px,4.6vw,68px)}h3{font-size:32px}em{font-weight:400}p+p{margin-top:18px}.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.skip-link:focus{position:fixed;top:10px;left:10px;z-index:10000;background:var(--paper);padding:12px 20px}
.eb-header{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:128px;padding:24px 5.3%;gap:32px;border-bottom:1px solid var(--line)}.eb-wordmark{display:flex;flex-direction:column;text-align:center;align-items:center;white-space:nowrap}.eb-wordmark>span{font-family:var(--serif);font-size:42px;line-height:1.15;letter-spacing:-.02em}.eb-wordmark>small{font-size:9px;letter-spacing:.43em;margin-top:10px;padding-left:.43em}.eb-nav{display:flex;align-items:center;gap:38px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.eb-nav-right{justify-content:flex-end}.eb-nav a{padding:6px 0;border-bottom:1px solid transparent;transition:border-color .2s}.eb-nav a:hover,.eb-nav a[aria-current=page]{border-bottom-color:var(--ink)}.eb-inquire-link span{margin-left:15px;font-size:16px}.eb-menu-toggle,.eb-mobile-menu{display:none}.eb-main .wp-block-group{margin-block-start:0}.eb-main .wp-block-image{margin:0}.eb-main .wp-block-heading{margin-top:0;margin-bottom:0}.eb-main .wp-block-group>p{margin-top:0}.eb-main .wp-block-group>p+p{margin-top:18px}.eb-main .wp-block-group>.eb-text-link{margin-top:30px}.eb-eyebrow{font-size:10px;line-height:1.6;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.eb-text-link{font-size:11px;line-height:1.6;letter-spacing:.12em;text-transform:uppercase}.eb-text-link a{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid var(--ink);padding:0 0 10px}.eb-text-link span{font-size:19px;line-height:1}.eb-text-link a:hover span{transform:translate(2px,-2px)}.eb-caption{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);line-height:1.6;padding-top:15px}
.eb-triptych{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:8px;padding:8px;max-width:1800px;margin:auto}.eb-triptych figure{height:clamp(390px,43vw,680px);overflow:hidden}.eb-triptych img{height:100%;width:100%;object-fit:cover;object-position:50% 55%}.eb-triptych figure:nth-child(2) img{object-position:center 60%}.eb-introduction{text-align:center;padding:98px 24px 104px;max-width:960px;margin:auto}.eb-introduction h1{margin-top:28px!important}.eb-intro-copy{max-width:490px;margin:30px auto 0!important;font-size:15px;line-height:1.85;color:var(--muted)}.eb-introduction .eb-text-link{margin-top:34px!important}.eb-feature-grid{max-width:1280px;margin:0 auto!important;padding:36px 5.5% 120px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:70px 11%}.eb-section-title{align-self:center;padding:30px 0}.eb-section-title h2{margin-top:28px!important}.eb-feature-one{grid-column:2;grid-row:1 / span 2}.eb-feature-one img{width:100%;aspect-ratio:2/3;object-fit:cover}.eb-feature-two{width:67%;justify-self:end;align-self:end}.eb-feature-two img{width:100%;aspect-ratio:3/4;object-fit:cover}.eb-feature-three{grid-column:1 / span 2;width:67%;margin-top:15px!important}.eb-feature-three img{width:100%;aspect-ratio:3/2;object-fit:cover}.eb-story{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;background:var(--wash);min-height:570px}.eb-story>figure{height:100%;min-height:570px}.eb-story>figure img{width:100%;height:100%;min-height:570px;object-fit:cover}.eb-story-copy{padding:64px 12%;max-width:680px}.eb-story-copy h2{margin-top:27px!important}.eb-story-copy>p:not(.eb-eyebrow):not(.eb-text-link){margin-top:28px!important;color:var(--muted);max-width:420px;font-size:14px;line-height:1.95}.eb-filmstrip{max-width:1240px;margin:0 auto!important;padding:110px 5%;display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:34px;align-items:center}.eb-filmstrip img{width:100%;aspect-ratio:2/3;object-fit:cover}.eb-filmstrip figure:nth-child(2) img{aspect-ratio:3/4}.eb-cta{text-align:center;padding:95px 24px 112px;border-top:1px solid var(--line)}.eb-cta h2{margin:25px auto 0!important}.eb-cta .eb-text-link{margin-top:35px!important}.eb-footer{border-top:1px solid var(--line);padding:55px 5% 22px}.eb-footer .eb-wordmark>span{font-size:36px}.eb-footer nav{display:flex;justify-content:center;gap:40px;margin:34px 0 48px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.eb-footer-bottom{padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.025em;color:var(--muted)}
.eb-page-intro{text-align:center;max-width:1100px;padding:90px 24px 66px;margin:0 auto!important}.eb-page-intro h1{margin-top:27px!important}.eb-filters{display:flex;justify-content:center;gap:30px;margin:0 24px 50px;flex-wrap:wrap}.eb-filters button{cursor:pointer;background:none;border:0;border-bottom:1px solid transparent;padding:8px 0;font-size:10px;text-transform:uppercase;letter-spacing:.1em;line-height:1.7}.eb-filters button:hover,.eb-filters button.is-active{border-color:var(--ink)}.eb-gallery{columns:3;column-gap:24px;max-width:1380px;margin:0 auto!important;padding:0 5% 90px}.eb-gallery .eb-photo{break-inside:avoid;margin:0 0 24px!important}.eb-gallery img{width:100%;transition:opacity .2s}.eb-gallery a:hover img{opacity:.88}.eb-gallery [hidden]{display:none!important}.eb-about-story{max-width:1260px;padding:30px 6% 100px;margin:0 auto!important;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.eb-about-story>figure img{width:100%;aspect-ratio:3/4;object-fit:cover}.eb-about-story .eb-story-copy{padding:30px 0}.eb-approach,.eb-process{background:var(--wash);padding:90px 7%;text-align:center}.eb-approach h2,.eb-process h2{margin-top:25px!important}.eb-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;max-width:1140px;margin:65px auto 0!important;text-align:left}.eb-principle,.eb-step{border-top:1px solid #bfc5b6;padding-top:25px}.eb-principle p,.eb-step>p:last-child{font-size:14px;margin-top:20px!important;color:var(--muted)}.eb-diptych{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:100px 9%;max-width:1250px;margin:auto!important;align-items:center}.eb-diptych figure:first-child{padding-top:90px}.eb-diptych img{width:100%;aspect-ratio:2/3;object-fit:cover}.eb-step-number{font-family:var(--serif);font-size:38px;color:#747e6d;margin-bottom:30px}.eb-step h3{font-size:30px}.eb-investment{background:var(--paper)}.eb-investment>figure,.eb-investment>figure img{max-height:680px}.eb-inquiry{max-width:1220px;padding:0 7% 110px;margin:auto!important;display:grid;grid-template-columns:.85fr 1fr;gap:10%;align-items:start}.eb-inquiry-image img{width:100%;aspect-ratio:2/3;object-fit:cover}.eb-form{padding-top:10px}.eb-field{margin-bottom:27px}.eb-field label{display:block;font-size:11px;letter-spacing:.07em;margin-bottom:10px}.eb-field label span{font-size:10px;color:var(--muted);letter-spacing:0}.eb-field input,.eb-field textarea{width:100%;min-width:0;border:0;border-bottom:1px solid #a8af9f;border-radius:0;background:transparent;padding:10px 1px;color:var(--ink);font-size:16px}.eb-field textarea{resize:vertical;min-height:120px}.eb-field input:focus,.eb-field textarea:focus{outline:1px solid var(--ink);outline-offset:3px}.eb-field-row{display:grid;grid-template-columns:1fr 1fr;gap:26px}.eb-form-note{font-size:11px;line-height:1.6;color:var(--muted);margin-bottom:20px}.eb-submit{display:flex;align-items:center;justify-content:space-between;width:100%;gap:30px;padding:17px 24px;background:var(--ink);color:var(--paper);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--ink);cursor:pointer}.eb-submit:hover{background:#4e5946}.eb-submit:disabled{opacity:.55;cursor:not-allowed}.eb-notice{border:1px solid var(--line);padding:18px 20px;font-size:13px;line-height:1.7;margin-bottom:24px}.eb-notice a{text-decoration:underline}.eb-honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.eb-lightbox{border:0;padding:0;background:#1c201c;color:white;width:100vw;max-width:none;height:100dvh;max-height:none}.eb-lightbox::backdrop{background:#1c201c}.eb-lightbox-inner{display:grid;grid-template-columns:60px 1fr 60px;align-items:center;height:100%;padding:55px 20px 50px}.eb-lightbox img{max-width:100%;max-height:calc(100dvh - 120px);width:auto;object-fit:contain;margin:auto}.eb-lightbox button{cursor:pointer;background:none;border:0;color:white;font-size:24px;padding:12px}.eb-lightbox-close{position:absolute;right:20px;top:10px;z-index:1}.eb-lightbox-caption{position:absolute;bottom:12px;left:10%;right:10%;text-align:center;font-size:12px}.eb-empty{padding:100px 24px;text-align:center}.eb-empty p{margin:30px auto;max-width:500px}
@media(min-width:1700px){.eb-story>figure,.eb-story>figure img{max-height:750px}}
@media(max-width:1050px){.eb-header{gap:20px;padding:24px 4%;min-height:114px}.eb-wordmark>span{font-size:36px}.eb-nav{gap:22px;font-size:9px}.eb-story-copy{padding:60px 9%}.eb-story>figure,.eb-story>figure img{min-height:520px}.eb-feature-grid{gap:55px 8%}.eb-gallery{column-gap:16px}.eb-gallery .eb-photo{margin-bottom:16px!important}.eb-inquiry{padding-left:5%;padding-right:5%;gap:7%}}
@media(max-width:760px){.eb-header{grid-template-columns:1fr auto;min-height:100px;padding:20px 6%;gap:20px}.eb-header>.eb-wordmark{grid-column:1;grid-row:1;align-items:flex-start}.eb-wordmark>span{font-size:34px}.eb-wordmark>small{font-size:8px;letter-spacing:.32em;margin-top:7px;padding-left:2px}.eb-nav{display:none}.eb-menu-toggle{display:flex;gap:15px;align-items:center;padding:12px 0 12px 12px;border:0;background:none;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.eb-menu-toggle span{font-size:20px}.eb-mobile-menu:not([hidden]){display:flex;flex-direction:column;grid-column:1/-1;border-top:1px solid var(--line);padding:20px 0 5px;gap:12px;font-family:var(--serif);font-size:28px}.eb-triptych{gap:5px;padding:5px;grid-template-columns:1fr 1fr}.eb-triptych figure{height:clamp(290px,74vw,560px)}.eb-triptych figure:nth-child(3){display:none}.eb-triptych figure:nth-child(1) img{object-position:50% 70%}.eb-triptych figure:nth-child(2) img{object-position:50% 55%}.eb-introduction{padding:65px 24px 76px}h1{font-size:clamp(47px,9.5vw,69px)}h2{font-size:clamp(39px,7.4vw,52px)}h3{font-size:30px}.eb-eyebrow{font-size:9px;letter-spacing:.16em}.eb-intro-copy{font-size:14px;max-width:400px}.eb-feature-grid{padding:0 7% 75px;gap:40px 6%;grid-template-columns:1fr 1fr}.eb-section-title{grid-column:1/-1;padding:0 0 5px}.eb-feature-one{grid-column:2;grid-row:2}.eb-feature-two{width:100%;grid-column:1;grid-row:2;padding-bottom:50px}.eb-feature-three{width:92%;margin-top:0!important}.eb-feature-one img{aspect-ratio:2/3}.eb-feature-two img{aspect-ratio:2/3}.eb-caption{font-size:8px;letter-spacing:.08em}.eb-story{grid-template-columns:1fr;min-height:0}.eb-story>figure,.eb-story>figure img{min-height:0;height:auto;aspect-ratio:4/3;max-height:none}.eb-story-copy{padding:60px 8%;max-width:600px}.eb-story-copy>p:not(.eb-eyebrow):not(.eb-text-link){font-size:14px}.eb-filmstrip{gap:12px;padding:65px 5%}.eb-cta{padding:66px 20px 77px}.eb-footer{padding:45px 6% 23px}.eb-footer nav{gap:24px;flex-wrap:wrap;margin-bottom:32px;font-size:9px}.eb-footer-bottom{flex-direction:column;text-align:center;gap:8px;font-size:9px}.eb-page-intro{padding:60px 24px 48px}.eb-filters{gap:12px 24px;margin-bottom:34px}.eb-filters button{font-size:9px}.eb-gallery{columns:2;padding:0 5% 55px;column-gap:12px}.eb-gallery .eb-photo{margin-bottom:12px!important}.eb-about-story{grid-template-columns:1fr;padding:10px 7% 65px;gap:24px}.eb-about-story>figure{max-width:470px}.eb-about-story .eb-story-copy{padding:20px 0 0}.eb-approach,.eb-process{padding:65px 7%}.eb-principles{grid-template-columns:1fr;margin-top:42px!important;gap:35px}.eb-principle p,.eb-step>p:last-child{max-width:460px;margin-top:16px!important}.eb-step-number{font-size:30px;margin-bottom:18px}.eb-diptych{gap:18px;padding:65px 7%}.eb-diptych figure:first-child{padding-top:50px}.eb-inquiry{grid-template-columns:1fr;gap:40px;padding:0 7% 65px}.eb-inquiry-image{display:none}.eb-inquiry-form{max-width:580px;width:100%;margin:auto!important}.eb-lightbox-inner{grid-template-columns:32px 1fr 32px;padding:60px 4px}.eb-lightbox button{padding:6px}.eb-lightbox-caption{font-size:10px}.eb-lightbox-close{right:14px;top:16px}}
/* Draw the decorative arrows as vectors so iOS cannot substitute a color emoji.
   Existing WordPress content keeps its aria-hidden spans and editable link text. */
.eb-text-link a>span[aria-hidden="true"],
.eb-nav a>span[aria-hidden="true"],
.eb-mobile-menu a>span[aria-hidden="true"],
.eb-footer nav a>span[aria-hidden="true"],
.eb-submit>span[aria-hidden="true"]{
  --eb-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M5 5h14v14' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  display:inline-block;
  width:19px;
  height:19px;
  flex-shrink:0;
  font-size:0;
  line-height:0;
  vertical-align:-3px;
  background-color:currentColor;
  -webkit-mask:var(--eb-arrow) center/contain no-repeat;
  mask:var(--eb-arrow) center/contain no-repeat;
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
