@font-face{font-family:'EB Garamond';src:url('../fonts/eb-garamond.woff2') format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:'EB Garamond';src:url('../fonts/eb-garamond-italic.woff2') format('woff2');font-weight:400 800;font-style:italic;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Allura;src:url('../fonts/allura.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Caveat;src:url('../fonts/caveat.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'Great Vibes';src:url('../fonts/great-vibes.woff2') format('woff2');font-style:normal;font-weight:400;font-display:block}
:root{--paper:#f7f3ec;--ink:#342d28;--stone:#806f5f;--sand:#dad0c2;--soft:#eee8df;--line:#d8cec1;--serif:'EB Garamond',Georgia,serif;--sans:Inter,Arial,sans-serif;--gutter:clamp(24px,5.2vw,92px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:400}p{font-size:14px;line-height:1.85;color:#6b5d52}em{font-weight:400}::selection{background:#dad0c2;color:#342d28}:focus-visible{outline:2px solid var(--stone);outline-offset:6px}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:20px;padding:15px;background:var(--ink);color:white;z-index:200}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:110px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:34px;border-bottom:1px solid var(--line);position:relative;z-index:30;background:var(--paper)}.brand{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.brand-name{font:43px/1 'Great Vibes',cursive;white-space:nowrap;transform:none}.brand-caption{font-size:8px;letter-spacing:.37em;margin:10px 0 0 6px}.custom-logo{max-height:66px;width:auto}.main-nav{display:flex;align-items:center;gap:clamp(20px,2.7vw,45px)}.nav-link,.nav-dropdown>summary{font:500 10px/1.6 var(--sans);letter-spacing:.1em;text-transform:uppercase;position:relative}.nav-link{padding:13px 0}.nav-link::after{content:'';position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--stone);transition:right .25s}.nav-link:hover::after,.nav-link[aria-current=page]::after{right:0}.nav-dropdown{position:relative}.nav-dropdown>summary{cursor:pointer;padding:16px 0;list-style:none;display:flex;align-items:center;gap:9px}.nav-dropdown>summary::-webkit-details-marker{display:none}.nav-dropdown>summary::after{content:'⌄';font-size:14px;transform:translateY(-2px)}.nav-dropdown[open]>summary::after{transform:rotate(180deg)}.nav-submenu{position:absolute;top:100%;left:-23px;min-width:255px;background:var(--paper);border:1px solid var(--line);padding:15px 22px;box-shadow:0 14px 25px #342d2810}.nav-submenu a{display:block;padding:11px 0;font-size:12px;line-height:1.5}.nav-submenu a:hover{color:var(--stone)}.nav-contact{border-bottom:1px solid var(--ink)}.language-nav{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.08em}.language-nav span{color:#b8a999}.language-nav a{padding:10px 1px}.language-nav a[aria-current=true]{border-bottom:1px solid var(--ink)}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);padding:12px}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:6px 0;transition:transform .2s}.header-tools{display:flex;gap:26px;align-items:center}
.wp-block-group{margin:0}.entry-content>*,.entry-content .wp-block-group>*{margin-block-start:0;margin-block-end:0}.entry-content .wp-block-image{margin:0}.eyebrow{font:500 9px/1.8 var(--sans);text-transform:uppercase;letter-spacing:.19em;color:var(--stone)}.section{padding:112px var(--gutter)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:48px!important}.section-heading h2{font-size:clamp(46px,4.6vw,70px);line-height:1.06;letter-spacing:-.035em;margin-top:14px!important}.text-link{display:inline-block;font:500 10px/1.7 var(--sans);letter-spacing:.09em;text-transform:uppercase;padding:10px 0;border-bottom:1px solid #9c8e80;transition:color .2s}.text-link:hover{color:#9b7660}.text-link .arrow{font-size:20px;margin-left:30px;vertical-align:-2px}.wp-block-buttons{display:flex;flex-wrap:wrap;gap:16px;margin-top:26px!important}.wp-block-button__link,.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:18px 25px;background:var(--ink);border:1px solid var(--ink);border-radius:0;color:var(--paper);font:500 10px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;transition:background .2s,color .2s}.wp-block-button__link:hover,.button:hover{background:var(--stone);border-color:var(--stone)}.is-style-outline .wp-block-button__link{background:transparent;color:var(--ink)}.is-style-outline .wp-block-button__link:hover{background:var(--ink);color:var(--paper)}
.home-hero{display:grid;grid-template-columns:43% 57%;min-height:660px;padding:35px var(--gutter) 0;gap:0}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:35px 42px 50px 0;position:relative;z-index:1}.hero-copy h1{font-size:clamp(66px,6.7vw,105px);line-height:.99;letter-spacing:-.047em;margin:29px -45px 27px 0!important;position:relative}.hero-copy h1 em{color:var(--stone)}.hero-copy>.hero-description{font-size:13px;max-width:290px;line-height:1.9}.hero-copy .text-link{margin-top:34px!important}.hero-image{position:relative;min-height:610px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:55% center}.hero-image figcaption{position:absolute;bottom:24px;left:28px;color:white;font-size:9px;letter-spacing:.17em;text-transform:uppercase;text-shadow:0 1px 12px black}.hero-caption{display:flex;justify-content:space-between;margin:0 var(--gutter)!important;padding:23px 0;border-bottom:1px solid var(--line)}.hero-caption p{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--stone)}.hero-caption p:last-child{text-align:right}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;max-width:1450px;margin:auto!important;padding-top:135px;padding-bottom:135px}.intro-visual{position:relative;padding:0 48px 50px 0}.intro-visual .photo-main{aspect-ratio:.88;max-width:480px;overflow:hidden}.intro-visual .photo-main img{height:100%;width:100%;object-fit:cover}.intro-visual .photo-detail{position:absolute;right:0;bottom:0;width:43%;aspect-ratio:.84;border:9px solid var(--paper);overflow:hidden}.intro-visual .photo-detail img{width:100%;height:100%;object-fit:cover}.intro-copy h2{font-size:clamp(43px,4.2vw,65px);line-height:1.05;letter-spacing:-.035em;margin:20px 0 28px!important}.intro-copy p:not(.eyebrow){max-width:420px;margin-bottom:17px!important}.intro-copy .text-link{margin-top:20px!important}.handwritten{font:42px/1.2 Allura,cursive!important;color:var(--stone);padding-top:20px;transform:rotate(-4deg)}
.stories-section{background:var(--soft)}.story-grid{display:grid;grid-template-columns:1.08fr 1fr 1fr;gap:30px;align-items:start}.story-card{position:relative}.story-card:nth-child(2){margin-top:83px!important}.story-card:nth-child(3){margin-top:37px!important}.story-card figure{aspect-ratio:.78;overflow:hidden}.story-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.3,1)}.story-card:hover img{transform:scale(1.025)}.story-card h3{font-size:36px;margin:21px 0 7px!important;letter-spacing:-.02em}.story-card h3 a{display:flex;justify-content:space-between;align-items:center}.story-card h3 a::after{content:'↗';font-family:var(--sans);font-size:23px;font-weight:200}.story-card>p{font-size:11px;letter-spacing:.02em}.story-grid-small{grid-template-columns:1fr 1fr;margin-top:55px!important}.story-grid-small .story-card:nth-child(2){margin-top:0!important}.stories-bottom{display:flex;justify-content:center;margin-top:60px!important}.view-grid{display:grid;grid-template-columns:1.15fr .8fr 1fr;gap:20px;align-items:start}.view-column{display:grid;gap:20px}.view-column:nth-child(2){padding-top:100px}.view-column:nth-child(3){padding-top:38px}.gallery-photo{overflow:hidden}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-photo a{display:block;cursor:zoom-in;height:100%}.gallery-photo:hover img{transform:scale(1.025)}.gallery-photo.portrait{aspect-ratio:.73}.gallery-photo.square{aspect-ratio:1}.gallery-photo.landscape{aspect-ratio:1.5}.gallery-caption{margin-top:30px!important;text-align:center;font-size:10px;letter-spacing:.09em;color:var(--stone)}
.manifesto{padding:88px var(--gutter);background:var(--sand);text-align:center}.manifesto h2{font-size:clamp(40px,4.5vw,68px);line-height:1.14;max-width:940px;margin:20px auto 0!important;letter-spacing:-.025em}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.project-card figure{aspect-ratio:1.38;overflow:hidden}.project-card img{height:100%;width:100%;object-fit:cover}.project-card:nth-child(2){padding-top:70px}.project-card .eyebrow{margin-top:23px!important}.project-card h3{font-size:38px;line-height:1.1;margin:11px 0 17px!important;letter-spacing:-.02em}.project-card>p{max-width:420px}.project-card .text-link{margin-top:18px!important}.editorial-note{padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;line-height:1.8;color:var(--stone)}
.contact-band{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr auto;align-items:center;gap:70px;padding:96px var(--gutter)}.contact-band .eyebrow{color:#c6b8a8}.contact-band h2{font-size:clamp(52px,6vw,88px);line-height:1.02;letter-spacing:-.035em;margin-top:19px!important}.contact-band p:not(.eyebrow){color:#c6b8a8;margin-top:22px!important;max-width:460px}.contact-band .wp-block-button__link{border:1px solid #958576;color:var(--paper);background:transparent;padding:25px 32px}.contact-band .wp-block-button__link:hover{background:var(--paper);color:var(--ink)}.site-footer{padding:60px var(--gutter) 24px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:50px;padding-bottom:46px}.footer-brand{align-items:flex-start}.footer-brand .brand-caption{margin-left:26px}.footer-intro{margin-top:25px;font-size:12px;max-width:260px}.footer-col p{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin:0 0 18px}.footer-col a{display:table;font-size:12px;margin-top:13px;line-height:1.6}.footer-col a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{padding-top:23px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;line-height:1.8;color:var(--stone)}.footer-bottom a{margin-left:20px}.back-top{text-transform:uppercase;letter-spacing:.08em}
.page-hero{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding:75px var(--gutter) 90px}.page-hero h1{font-size:clamp(57px,5.6vw,86px);line-height:1.02;letter-spacing:-.04em;margin:27px 0!important}.page-hero p:not(.eyebrow){max-width:500px;margin-bottom:18px!important}.page-hero figure{aspect-ratio:.92;overflow:hidden}.page-hero figure img{height:100%;width:100%;object-fit:cover}.breadcrumb{font-size:9px;letter-spacing:.1em;color:var(--stone);text-transform:uppercase;padding:32px var(--gutter) 0}.breadcrumb a{padding:8px 0}.page-hero .wp-block-buttons{margin-top:32px!important}.service-intro{max-width:850px;text-align:center;padding:85px 25px;margin:auto!important}.service-intro h2{font-size:clamp(40px,4vw,62px);line-height:1.08;margin:18px 0 28px!important}.service-intro p{max-width:660px;margin:0 auto!important}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.process-item{border-top:1px solid var(--line);padding-top:25px}.process-item h3{font-size:30px;margin:24px 0 14px!important}.process-item p:not(.eyebrow){font-size:13px}.faq-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:13%}.faq-layout h2{font-size:55px;line-height:1.05;margin:18px 0!important}.faq-list details{border-bottom:1px solid var(--line);padding:24px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{font-size:13px;line-height:1.6;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';font:24px/1 var(--serif)}.faq-list details[open] summary::after{content:'−'}.faq-list details p{font-size:13px;margin-top:18px!important}.soft-section{background:var(--soft)}.seasonal{margin:0 var(--gutter) 90px!important;padding:45px;display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--line)}.seasonal h2{font-size:42px;margin:12px 0!important}.seasonal p{max-width:540px}.empty-portfolio{display:flex;flex-direction:column;justify-content:center;padding:60px;background:var(--soft);min-height:400px}.empty-portfolio .big-letter{font:130px/.8 var(--serif);color:#bcae9e;margin-bottom:30px!important}.empty-portfolio p{max-width:370px}
.contact-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;padding:90px var(--gutter) 120px}.contact-layout h1{font-size:clamp(56px,5.6vw,86px);line-height:1.02;letter-spacing:-.04em;margin:24px 0!important}.contact-copy>p:not(.eyebrow){max-width:410px}.contact-address{margin-top:45px!important}.contact-address p{font-size:10px;letter-spacing:.08em;margin:25px 0 6px!important;text-transform:uppercase}.contact-address a{font-size:14px;line-height:1.8;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.contact-address .location{font-size:13px;letter-spacing:0;text-transform:none}.contact-form{background:var(--soft);padding:40px}.contact-form h2,.contact-form h3{font-size:37px;margin:13px 0 30px!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.form-field{display:flex;flex-direction:column;gap:9px;margin-bottom:23px}.form-field label{font-size:10px;font-weight:500;line-height:1.8}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:44px;border:0;border-bottom:1px solid #b1a392;background:transparent;border-radius:0;padding:10px 0;color:var(--ink);font-size:13px;outline-offset:3px}.form-field textarea{resize:vertical;min-height:115px}.form-field input::placeholder,.form-field textarea::placeholder{color:#8b7e70}.form-privacy{display:flex;gap:10px;font-size:11px;line-height:1.7;margin:12px 0 23px}.form-privacy input{flex-shrink:0;align-self:flex-start;margin-top:3px;accent-color:var(--ink);width:16px;height:16px}.form-privacy a{text-decoration:underline}.form-note{font-size:11px;margin-top:20px!important}.form-status{font-size:12px;line-height:1.75;margin-top:20px}.form-status:not(:empty){border-left:2px solid var(--stone);padding:12px 15px;background:var(--paper)}.form-status a{text-decoration:underline}.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.about-letter{font-size:clamp(48px,5vw,78px);line-height:1.08;max-width:1050px;margin:0 auto!important;text-align:center;padding:95px 30px}.about-letter em{color:var(--stone)}
.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;border:0;padding:70px 60px 45px;background:#201c19f7;color:var(--paper)}.lightbox::backdrop{background:#201c19}.lightbox[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox-image{max-height:calc(100dvh - 160px);max-width:calc(100vw - 160px);width:auto;height:auto;object-fit:contain}.lightbox-caption{font-size:11px;color:#ded4c7;line-height:1.6;margin-top:20px;text-align:center}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:transparent;color:var(--paper);width:48px;height:48px;font:30px var(--serif)}.lightbox-close{top:15px;right:20px}.lightbox-prev{left:15px;top:50%}.lightbox-next{right:15px;top:50%}.lightbox-count{position:absolute;left:30px;top:30px;font-size:10px;letter-spacing:.15em}.lettering-board{padding:80px var(--gutter)}.lettering-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:50px}.lettering-sample{border:1px solid var(--line);padding:55px 20px;text-align:center}.lettering-sample .signature{font-size:55px}.lettering-sample p{margin-top:25px}.lettering-sample .eyebrow{margin-bottom:40px}.error-page{min-height:55vh;text-align:center;padding:110px 24px}.error-page h1{font-size:80px}.error-page p{margin:25px auto;max-width:500px}
@media(min-width:1700px){.home-hero{min-height:780px}.hero-image{min-height:730px}.hero-copy h1{font-size:116px}.section{padding-top:140px;padding-bottom:140px}}
/* Use the compact navigation before the enlarged labels run out of room. */
@media(max-width:1100px){
  .site-header{height:88px;gap:20px}
  .brand-name{font-size:36px}
  .header-tools{gap:15px;margin-left:auto}
  .menu-toggle{display:block}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:22px var(--gutter) 32px;background:var(--paper);border-bottom:1px solid var(--line);align-items:stretch;max-height:calc(100dvh - 88px);overflow:auto}
  .main-nav.is-open{display:flex;flex-direction:column;gap:8px}
  .nav-link,.nav-dropdown>summary{padding:14px 0}
  .nav-submenu{position:static;box-shadow:none;border:0;border-left:1px solid var(--line);margin:0 0 10px 5px;padding:0 20px}
  .nav-submenu a{padding:12px 0}
}
@media(max-width:1100px){.home-hero{grid-template-columns:45% 55%;min-height:550px}.hero-image{min-height:520px}.hero-copy{padding-right:20px}.hero-copy h1{font-size:72px}.intro{gap:8%}.section{padding-top:85px;padding-bottom:85px}.story-grid{gap:20px}.story-card h3{font-size:32px}.contact-layout{gap:6%}.contact-form{padding:28px}.contact-band{gap:30px}}
@media(max-width:850px){.home-hero{grid-template-columns:1fr 1.1fr;min-height:510px}.hero-copy h1{font-size:64px}.hero-image{min-height:480px}.hero-copy .eyebrow{max-width:190px}.intro{gap:7%}.intro-visual{padding-right:20px}.intro-copy h2{font-size:44px}.story-grid{gap:17px}.story-card h3{font-size:29px}.view-grid{gap:12px}.view-column{gap:12px}.contact-band{grid-template-columns:1fr}.contact-band .wp-block-buttons{margin-top:0!important}.page-hero{gap:6%;padding-top:50px}.page-hero h1{font-size:60px}.process-grid{gap:25px}.faq-layout{gap:8%;grid-template-columns:.8fr 1.2fr}.contact-layout{gap:5%}.form-grid{grid-template-columns:1fr;gap:0}.footer-top{gap:30px;grid-template-columns:1fr 1fr}.footer-top>.footer-col:last-child{grid-column:2;grid-row:1}.footer-top>.footer-col:nth-child(2){grid-column:2;grid-row:2}.footer-top>.footer-brand{grid-row:span 2}.lettering-grid{grid-template-columns:1fr}}
@media(max-width:600px){:root{--gutter:24px}html{scroll-padding-top:25px}.site-header{height:82px}.brand-name{font-size:35px}.brand-caption{font-size:7px;margin-top:8px}.language-nav{font-size:10px;gap:7px}.header-tools{gap:11px}.home-hero{display:flex;flex-direction:column;padding-top:0;min-height:0}.hero-copy{padding:43px 0 37px}.hero-copy .eyebrow{max-width:none;font-size:8px}.hero-copy h1{font-size:68px;line-height:.98;margin:22px 0 20px!important;letter-spacing:-.045em}.hero-copy>.hero-description{font-size:12px;max-width:240px}.hero-copy .text-link{margin-top:22px!important}.hero-image{min-height:0;height:auto;aspect-ratio:1.05;position:relative}.hero-image img{height:100%;width:100%;position:absolute;inset:0;object-position:54% center}.hero-image figcaption{left:18px;bottom:18px;font-size:8px}.hero-caption{padding:18px 0;gap:20px}.hero-caption p{font-size:7px;max-width:48%;line-height:1.8}.section{padding-top:68px;padding-bottom:68px}.section-heading{display:block;margin-bottom:30px!important}.section-heading h2{font-size:47px}.section-heading .text-link{margin-top:20px}.intro{display:flex;flex-direction:column;gap:44px;padding-top:68px;padding-bottom:68px}.intro-visual{width:100%;padding:0 46px 36px 0;max-width:440px}.intro-visual .photo-main{aspect-ratio:1.03}.intro-visual .photo-detail{width:39%;border-width:7px}.intro-copy{width:100%}.intro-copy h2{font-size:48px;margin:18px 0 22px!important}.intro-copy p:not(.eyebrow){font-size:13px}.handwritten{font-size:38px!important}.story-grid{grid-template-columns:1fr 1fr;gap:30px 16px}.story-card:nth-child(2){margin-top:55px!important}.story-card:nth-child(3){margin-top:0!important;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:22px;align-items:center}.story-card:nth-child(3) figure{grid-row:span 2;aspect-ratio:.9}.story-card:nth-child(3) h3{align-self:end;margin-bottom:13px!important}.story-card:nth-child(3)>p{align-self:start}.story-card h3{font-size:28px;margin-top:15px!important}.story-card h3 a::after{font-size:17px}.story-card>p{font-size:10px;line-height:1.7}.story-grid-small .story-card h3{font-size:24px}.stories-bottom{margin-top:34px!important}.view-grid{grid-template-columns:1fr 1fr;gap:12px}.view-column:nth-child(2){padding-top:44px}.view-column:nth-child(3){display:none}.gallery-caption{font-size:9px;line-height:1.8}.manifesto{padding:60px 24px}.manifesto h2{font-size:39px}.project-grid{grid-template-columns:1fr;gap:40px}.project-card:nth-child(2){padding-top:0}.project-card figure{aspect-ratio:1.3}.project-card h3{font-size:35px}.project-card>p{font-size:13px}.contact-band{padding:66px 24px;gap:30px}.contact-band h2{font-size:58px}.contact-band p:not(.eyebrow){font-size:13px}.contact-band .wp-block-button__link{padding:18px 25px}.site-footer{padding:45px 24px 24px}.footer-top{grid-template-columns:1fr;gap:35px}.footer-top>.footer-brand,.footer-top>.footer-col:nth-child(2),.footer-top>.footer-col:last-child{grid-column:auto;grid-row:auto}.footer-top>.footer-col:nth-child(2){display:none}.footer-bottom{flex-direction:column;font-size:8px}.footer-bottom a{margin:0 20px 0 0}.page-hero{grid-template-columns:1fr;padding:35px 24px 65px;gap:35px}.page-hero h1{font-size:62px;line-height:1.02;margin:21px 0!important}.page-hero p:not(.eyebrow){font-size:13px}.page-hero figure{aspect-ratio:1.1}.breadcrumb{font-size:8px;padding-top:25px}.service-intro{padding:60px 24px}.service-intro h2{font-size:43px}.service-intro p{font-size:13px}.process-grid{grid-template-columns:1fr;gap:32px}.process-item h3{margin-top:12px!important}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-layout h2{font-size:47px}.seasonal{padding:26px;margin-bottom:65px!important;flex-direction:column;align-items:flex-start}.seasonal h2{font-size:37px}.contact-layout{grid-template-columns:1fr;gap:45px;padding-top:50px;padding-bottom:65px}.contact-layout h1{font-size:62px}.contact-form{padding:26px 20px}.form-grid{grid-template-columns:1fr 1fr;gap:15px}.contact-form .button{width:100%}.empty-portfolio{padding:40px;min-height:330px}.empty-portfolio .big-letter{font-size:100px}.about-letter{font-size:43px;padding:65px 24px}.lightbox{padding:60px 15px}.lightbox-image{max-width:100%;max-height:calc(100dvh - 180px)}.lightbox-prev,.lightbox-next{top:auto;bottom:20px}.lightbox-caption{max-width:85%;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.form-field-full{grid-column:1/-1}.contact-form-wrap{min-width:0}.contact-direct{align-self:center;padding:38px;background:var(--soft)}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}


.section-heading h1{font-size:clamp(56px,5.6vw,86px);line-height:1.05;letter-spacing:-.035em;margin-top:14px!important}@media(max-width:600px){.section-heading h1{font-size:54px}}


@media(max-width:600px){.view-column:nth-child(3){display:grid;grid-column:1/-1;grid-template-columns:1fr 1fr;padding-top:0}.view-column:nth-child(3) .gallery-photo{aspect-ratio:.9}.intro-copy p:not(.eyebrow),.page-hero p:not(.eyebrow){font-size:14px}}


.story-card figure a{display:block;width:100%;height:100%}.story-card figure a img{width:100%;height:100%;object-fit:cover}

/* Client identity: the selected signature and the photographer's own portrait. */
.brand-name{font-family:'Great Vibes',cursive;transform:none;font-synthesis:none}
.intro-portrait{padding:0!important}
.intro-portrait .photo-main{aspect-ratio:auto!important;max-width:none}
.intro-portrait .photo-main img{height:auto;object-fit:contain}

/* Photographic revision: let each frame breathe. */
.hero-image img{object-position:52% 47%}
.home-intro{padding-top:88px;padding-bottom:88px}
.home-intro .intro-visual{max-width:430px}
.home-intro .photo-main{aspect-ratio:1}
.story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.story-card figure{aspect-ratio:1.5}
.story-card:nth-child(2){margin-top:40px!important}
.story-card:nth-child(3){margin-top:80px!important}
.gallery-photo.portrait,.gallery-photo.landscape{aspect-ratio:auto}
.gallery-photo img{height:auto;object-fit:contain}
.view-column:nth-child(2){padding-top:65px}
.view-column:nth-child(3){padding-top:24px}
.project-feature{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:9%}
.project-feature>figure img{width:100%;height:auto}
.project-feature-copy h3{font-size:clamp(40px,4.2vw,65px);line-height:1.05;letter-spacing:-.035em;margin:20px 0 24px!important}
.project-feature-copy>p{max-width:420px}
.project-feature-copy .text-link{margin-top:22px}
.home-projects{padding-top:60px;padding-bottom:100px;border-top:1px solid var(--line)}
.page-hero>figure{aspect-ratio:auto}
.page-hero>figure img{height:auto;object-fit:contain}
.contact-form-wrap{scroll-margin-top:32px}
.contact-form>.form-note:first-of-type{margin-bottom:22px!important}
@media(max-width:850px){.story-card:nth-child(2){margin-top:25px!important}.story-card:nth-child(3){margin-top:50px!important}.home-intro{padding-top:68px;padding-bottom:68px}.project-feature{gap:6%}}
@media(max-width:600px){
  .home-hero{display:flex;flex-direction:column;align-items:stretch;padding-top:25px}
  .hero-copy{display:contents}
  .hero-copy>.eyebrow{order:0}
  .hero-copy h1{order:1;margin:20px 0 26px!important}
  .hero-image{order:2;aspect-ratio:1.18}
  .hero-image img{object-position:53% 45%}
  .hero-copy>.hero-description{order:3;margin-top:22px!important;max-width:none}
  .hero-copy>.link-line{order:4;margin:0 0 10px!important}
  .hero-copy .text-link{margin-top:10px!important}
  .hero-caption{padding-top:14px;padding-bottom:14px}
  .home-intro{gap:32px;padding-top:54px;padding-bottom:54px}
  .home-intro .intro-visual{max-width:350px}
  .story-grid{grid-template-columns:1fr;gap:32px}
  .story-card:nth-child(2),.story-card:nth-child(3){margin-top:0!important}
  .story-card:nth-child(3){display:block;grid-column:auto}
  .story-card figure,.story-card:nth-child(3) figure{aspect-ratio:1.5}
  .story-card h3,.story-card:nth-child(3) h3{margin:16px 0 7px!important}
  .stories-bottom{margin-top:28px!important}
  .view-column:nth-child(2){padding-top:32px}
  .view-column:nth-child(3){align-items:start}
  .view-column:nth-child(3) .gallery-photo{aspect-ratio:auto}
  .project-feature{grid-template-columns:1fr;gap:28px}
  .project-feature-copy h3{font-size:42px}
  .home-projects{padding-top:48px;padding-bottom:60px}
  .contact-layout{display:flex;flex-direction:column;gap:0;padding-top:35px}
  .contact-copy{display:contents}
  .contact-copy>.eyebrow{order:0}
  .contact-copy>h1{order:1}
  .contact-copy>p:not(.eyebrow){order:2}
  .contact-form-wrap{order:3;margin-top:30px!important}
  .contact-address{order:4;margin-top:30px!important;padding-top:4px;border-top:1px solid var(--line)}
  .contact-form .form-grid{grid-template-columns:1fr;gap:0}
}

/* Client feedback: a larger reading scale while preserving display sizes. */
body{font-size:16px}
p,:where(.entry-content li,.entry-content dt,.entry-content dd,.entry-content td,.entry-content th,.entry-content caption,.entry-content figcaption){font-size:20px}
.skip-link{font-size:20px}
.eyebrow,.hero-copy .eyebrow{font-size:14px}
.nav-link,.nav-dropdown>summary{font-size:13px}
.nav-submenu a{font-size:16px}
.language-nav{font-size:14px}
.brand-caption{font-size:9px}
.text-link,.wp-block-button__link,.entry-content .button,.cookie-notice .button{font-size:15px}
.wp-block-button__link,.button{max-width:100%;text-align:center}
.hero-copy>.hero-description{font-size:19px}
.hero-image figcaption{font-size:12px}
.hero-caption p{font-size:13.5px}
.intro-copy p:not(.eyebrow),.page-hero p:not(.eyebrow),.project-card>p{font-size:20px}
.story-card>p,.editorial-note{font-size:18px}
.gallery-caption{font-size:16px}
.contact-band p:not(.eyebrow),.process-item p:not(.eyebrow){font-size:19px}
.footer-intro,.footer-col a{font-size:18px}
.footer-col p,.footer-bottom,.breadcrumb{font-size:14px}
.faq-list summary,.faq-list details p{font-size:19px}
.contact-address p{font-size:14px}
.contact-address a{font-size:20px}
.contact-address .location{font-size:19px}
.form-field label{font-size:16px}
.form-field input,.form-field select,.form-field textarea{font-size:20px}
.form-privacy,.form-note,.form-status,.lightbox-caption{font-size:17px}
.lightbox-count{font-size:14px}
@media(max-width:1100px){.nav-link,.nav-dropdown>summary{font-size:14px}}
@media(max-width:600px){
  p{line-height:1.8}
  .brand-caption{font-size:8px}
  .hero-image figcaption{font-size:11px}
  .hero-caption p{font-size:13px;letter-spacing:.1em}
}

/* A non-blocking notice for technical storage, with permanent information. */
.cookie-notice{position:fixed;right:24px;bottom:24px;width:min(640px,calc(100% - 48px));max-height:calc(100dvh - 48px);overflow:auto;padding:28px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 50px #342d2826;z-index:80}
.cookie-notice h2{font-size:28px;line-height:1.15;padding-right:34px;margin:0 0 12px}
.cookie-notice p{font-size:18px;line-height:1.7;max-width:530px}
.cookie-close{position:absolute;top:8px;right:8px;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ink);font:28px/1 var(--serif)}
.cookie-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:22px}
.cookie-more,.cookie-reset{font:500 16px/1.6 var(--sans);text-decoration:underline;text-underline-offset:4px}
.cookie-information{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);scroll-margin-top:24px}
.cookie-information>summary{display:list-item;width:fit-content;font-size:15px;line-height:1.8;color:var(--stone);cursor:pointer;text-underline-offset:4px}
.cookie-information-content{max-width:800px;padding:24px 0 4px;overflow-wrap:anywhere}
.cookie-information-content h2{font-size:34px;line-height:1.2;margin:0 0 24px}
.cookie-information-content h3{font-size:24px;line-height:1.25;margin-bottom:10px}
.cookie-information-content section{margin:0 0 25px}
.cookie-information-content p{font-size:18px;line-height:1.8}
.cookie-information-content a{text-decoration:underline;text-underline-offset:4px}
.cookie-reset{display:inline-block;padding:0;margin-top:20px;border:0;background:transparent;color:var(--ink);text-align:left}
.contact-badge{margin-top:32px!important}
.contact-badge a{display:inline-block;max-width:100%}
.contact-badge img{max-width:min(220px,100%);height:auto;border:0}
.contact-badge [hidden]{display:none!important}
.contact-badge-fallback{font:400 18px/1.8 var(--sans);text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){
  .cookie-notice{right:16px;bottom:16px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:22px}
  .cookie-notice h2{font-size:26px}
  .cookie-actions{gap:12px}
  .cookie-actions .button{padding:14px 18px}
}

