
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,400,20,1;9..144,500,20,1&display=swap');
:root{--ivory:#f6f3ec;--cream:#eee9df;--ink:#253b42;--blue:#276a84;--sand:#e8d1a3;--yellow:#f2ba26;--line:#d8d6cc}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{width:100%;display:block;object-fit:cover}.site-header{height:88px;padding:14px clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ivory);position:sticky;top:0;z-index:12;border-bottom:1px solid rgba(37,59,66,.1)}.brand{font-family:'Fraunces',Georgia,serif;font-size:33px;letter-spacing:-2px;font-weight:500;line-height:1}.brand span{color:#276a84}.nav{display:flex;align-items:center;gap:24px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.nav a:hover,.nav a.active{color:#237a99}.nav-toggle{display:none;border:0;background:transparent;font-size:23px;color:var(--ink)}.tag{font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:11px;color:var(--blue)}h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:400;line-height:1.1;letter-spacing:-.035em}h1{font-size:clamp(49px,7.3vw,112px);margin:20px 0 24px}h2{font-size:clamp(35px,5vw,68px);margin:12px 0 20px}h3{font-size:27px;margin:14px 0}p{max-width:66ch}section{padding:clamp(65px,8vw,115px) clamp(24px,6vw,100px)}.container{max-width:1390px;margin:auto}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border:1px solid var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;transition:.2s}.btn:hover{background:var(--ink);color:white}.btn.light{border-color:white;color:white}.btn.light:hover{background:white;color:var(--ink)}.hero{padding:0;min-height:630px;display:grid;grid-template-columns:47% 53%;background:#e5ebea}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(35px,6vw,98px);position:relative}.hero-copy p{font-size:18px;max-width:450px}.hero-photo{height:clamp(560px,66vw,750px);object-position:50% 38%}.hero h1 em{font-weight:400;color:var(--blue)}.eyebrow-line{width:55px;height:1px;background:var(--blue);margin:28px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,110px);align-items:center}.split .visual img{height:610px}.split .text{max-width:570px}.split.reverse .visual{order:2}.intro{background:var(--ivory)}.intro .visual img{object-position:50% 30%}.grid-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:35px}.grid-title p{max-width:430px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card-image{height:390px;overflow:hidden;background:#e4e4de}.card-image img{height:100%;transition:transform .45s}.card:hover img{transform:scale(1.04)}.card .meta{font-size:11px;letter-spacing:.15em;color:var(--blue);font-weight:700;text-transform:uppercase;margin-top:15px}.card h3{margin:6px 0 8px}.card p{margin-top:0;color:#536365;font-size:14px}.featured{background:#e5eeeb}.statement{background:#1d4f63;color:white;text-align:center;padding:105px 24px}.statement h2{max-width:920px;margin:22px auto;font-size:clamp(39px,5.5vw,78px)}.statement .tag{color:#e8d1a3}.workshop{background:var(--cream)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery img{aspect-ratio:1;object-fit:cover}.footer{background:#173a47;color:#f4f0e8;padding:65px clamp(24px,6vw,100px) 25px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer h2{font-size:52px;margin:0 0 20px}.footer a{text-decoration:underline;text-underline-offset:4px}.footer small{display:block;border-top:1px solid #55717a;margin-top:55px;padding-top:15px;font-size:11px;color:#bbcace}.page-hero{padding-top:98px;padding-bottom:75px;background:#e5eeeb}.page-hero h1{font-size:clamp(50px,7vw,100px);max-width:1050px}.page-hero p{font-size:19px;max-width:710px}.reading{max-width:750px;margin:auto}.reading p{font-size:18px;line-height:1.85}.folio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.folio figure{margin:0}.folio img{height:355px}.folio figcaption{font-size:12px;color:#536365;padding-top:9px}.accent{background:#e5eeeb}.note{font-size:13px;color:#687578}.contact-big{font-family:'Fraunces',Georgia,serif;font-size:clamp(29px,4vw,58px);text-decoration:underline;text-underline-offset:6px;overflow-wrap:anywhere}.footer .brand{font-size:40px}.hide-mobile{display:block}
@media(max-width:940px){.nav{gap:11px;font-size:10px}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:45px}.cards{gap:15px}.card-image{height:300px}.split .visual img{height:480px}}
@media(max-width:700px){.site-header{height:74px}.nav-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--ivory);padding:24px;flex-direction:column;align-items:flex-start;font-size:13px;box-shadow:0 10px 20px #0001}.nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:66px 26px 50px}.hero-photo{height:450px}.split,.cards,.footer-top{grid-template-columns:1fr}.split.reverse .visual{order:0}.split .visual img{height:450px}.gallery,.folio{grid-template-columns:repeat(2,1fr)}.folio img{height:260px}.grid-title{display:block}.card-image{height:390px}.statement{padding:75px 25px}.hide-mobile{display:none}}

/* Final refinements */
html{scroll-behavior:smooth}body{overflow-x:hidden}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #bd682e;outline-offset:4px}.skip-link{position:absolute;transform:translateY(-120px);z-index:999;background:white;padding:12px}.skip-link:focus{transform:translateY(0)}.site-header .brand{flex-shrink:0}.nav-toggle{cursor:pointer}.nav-toggle[aria-expanded="true"]{color:var(--blue)}.footer-small-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:15px;font-size:12px}.footer-small-links a{text-decoration:underline;text-underline-offset:3px}.gallery figure,.folio figure{margin:0}.gallery figure{position:relative}.gallery figure img{aspect-ratio:1;height:auto}.gallery figcaption,.folio figcaption{font-size:12px;line-height:1.4;color:#536365;padding:7px 2px}.gallery button,.folio button{border:0;background:none;padding:0;display:block;width:100%;cursor:zoom-in;text-align:inherit}.gallery button img,.folio button img{transition:transform .3s}.gallery button:hover img,.folio button:hover img{transform:scale(1.02)}.gallery figure{overflow:hidden}.lightbox{position:fixed;inset:0;background:#101a20ee;z-index:400;display:none;align-items:center;justify-content:center;padding:50px 20px}.lightbox.open{display:flex}.lightbox img{height:auto;width:auto;max-width:93vw;max-height:80vh;object-fit:contain}.lightbox button{position:absolute;right:22px;top:14px;background:transparent;border:0;font-size:36px;color:white;cursor:pointer}.lightbox p{position:absolute;bottom:8px;color:white;font-size:12px;text-align:center;padding:0 16px}.legal{max-width:780px;margin:auto}.legal h2{font-size:34px;margin-top:42px}.legal h3{font-size:24px}.legal p,.legal li{font-size:16px;line-height:1.8}.legal a{text-decoration:underline}.legal-notice{background:#fff3dd;border-left:4px solid #bd682e;padding:20px;margin:20px 0}.sitemap-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px}.sitemap-links a{text-decoration:underline}.form-grid{display:grid;gap:14px;max-width:610px}.form-grid input,.form-grid textarea{width:100%;padding:14px;border:1px solid #a6b2b4;background:white;font:inherit;color:var(--ink);border-radius:0}.form-grid label{font-size:13px;font-weight:600}.form-grid textarea{min-height:130px}.form-grid button{background:var(--ink);color:white;cursor:pointer}.form-note{font-size:12px;color:#536365}.footer-bottom{font-size:12px}.nav a[aria-current=page]{color:var(--blue)}
@media(max-width:700px){.footer-small-links{gap:12px}.lightbox img{max-height:75vh}.legal h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* MarLa v1.1 - layout and rhythm correction */
:root { --content-max:1160px; --gutter:clamp(22px,4.5vw,64px); }
html,body{width:100%;max-width:100%;overflow-x:hidden}
.container{width:min(var(--content-max),100%);max-width:var(--content-max);margin-inline:auto;}
section{padding:clamp(52px,7vw,95px) var(--gutter)}
.page-hero{padding:clamp(56px,7vw,98px) var(--gutter) clamp(53px,6vw,85px)}
.page-hero>.container{margin-inline:auto}
.page-hero h1{font-size:clamp(43px,5.8vw,84px);max-width:960px;line-height:1.08;overflow-wrap:normal}
.page-hero p{font-size:clamp(16px,1.7vw,19px);line-height:1.6}
.site-header{padding-inline:var(--gutter)}
.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,84px)}
.split>*{min-width:0}
.split .text{max-width:570px}
.split .visual img{height:clamp(380px,44vw,540px)}
h1,h2,h3{overflow-wrap:break-word}
.split h2{font-size:clamp(35px,4vw,58px)}
.split p{font-size:clamp(15px,1.5vw,17px);line-height:1.75}
.footer{padding-inline:var(--gutter)}
.folio img{height:clamp(220px,27vw,330px)}
@media(max-width:1100px){
 .site-header{height:76px}
 .nav-toggle{display:block;cursor:pointer}
 .nav{display:none;position:absolute;top:76px;left:0;right:0;padding:24px var(--gutter);flex-direction:column;align-items:flex-start;gap:15px;background:var(--ivory);box-shadow:0 10px 24px #0002;font-size:12px}
 .nav.open{display:flex}
}
@media(max-width:760px){
 .site-header{height:70px}.nav{top:70px}
 .page-hero{padding:62px 24px 55px}
 .page-hero h1{font-size:clamp(39px,9vw,62px);line-height:1.12;letter-spacing:-.03em}
 section{padding:56px 24px}
 .split{grid-template-columns:1fr;gap:28px}
 .split.reverse .visual{order:0}
 .split .visual img{height:auto;max-height:550px;aspect-ratio:4/5;object-fit:cover}
 .split h2{font-size:clamp(35px,9vw,52px)}
 .hero{grid-template-columns:1fr}
 .hero-copy{padding:60px 24px 46px}
 .cards,.footer-top{grid-template-columns:1fr}
 .folio,.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .folio img{height:240px}
 .footer{padding:55px 24px 25px}
}
@media(max-width:380px){.folio,.gallery{grid-template-columns:1fr}.folio img{height:auto;aspect-ratio:4/3}}

/* MarLa v1.2: tablet + mobile layout reset, reliable horizontal breathing room */
:root{--marla-gutter:clamp(20px,5vw,72px)}
html{box-sizing:border-box;width:100%}
body{min-width:0;width:100%;overflow-x:clip}
.site-header{padding-inline:var(--marla-gutter)}
.page-hero, section, .footer{box-sizing:border-box;width:100%;padding-inline:var(--marla-gutter)!important}
.page-hero>.container, section>.container, .footer>.container{
 width:100%!important;max-width:1160px!important;margin-left:auto!important;margin-right:auto!important;
 padding-inline:0!important;min-width:0!important
}
.page-hero h1{font-size:clamp(38px,5.9vw,72px);line-height:1.12;max-width:880px;margin:19px 0 22px}
.page-hero p{font-size:clamp(16px,1.6vw,19px)}
.page-hero{padding-block:clamp(54px,8vw,105px)!important}
.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,70px)}
.split .text, .split .visual{min-width:0}
.split .text p{max-width:60ch}
@media(max-width:1024px){
 .site-header{height:72px}.nav{top:72px}
 .split{grid-template-columns:minmax(0,1fr)!important;gap:32px}
 .split.reverse .visual{order:0}
 .split .visual img{height:auto;max-height:560px;aspect-ratio:4/3;object-fit:cover}
 .split .text{max-width:700px}
 .page-hero h1{font-size:clamp(39px,6vw,65px);max-width:800px}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 :root{--marla-gutter:24px}
 .page-hero{padding-block:57px 60px!important}
 .page-hero h1{font-size:clamp(36px,9vw,52px);line-height:1.13;letter-spacing:-.025em}
 .page-hero p{font-size:16px}
 section{padding-block:56px!important}
 .hero-copy{padding-inline:var(--marla-gutter)!important}
 .split .visual img{aspect-ratio:4/5;max-height:none}
 .cards,.footer-top{grid-template-columns:1fr}
 .footer{padding-block:54px 25px!important}
 .footer h2{font-size:clamp(32px,9vw,45px)}
 .nav{top:72px}
 .nav a{padding:6px 0}
}
@media(max-width:400px){:root{--marla-gutter:20px}.page-hero h1{font-size:36px}}
