.site-header .menu-toggle{position:relative}
/* Keep entered values readable independently of the small editorial labels. */
.contact-form input:not([type="checkbox"]):not([type="hidden"]),.contact-form textarea,.contact-form select{font-size:16px;line-height:1.5;letter-spacing:normal;font-weight:400;min-width:0}
.contact-form input:focus-visible,.contact-form textarea:focus-visible,.contact-form select:focus-visible{outline:2px solid var(--clay);outline-offset:4px}
.contact-form .consent input{flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:var(--clay)}
.contact-form .consent{font-size:13px;line-height:1.6;cursor:pointer}
@media(max-width:600px){.home-page .home-hero-media img{object-position:45% 75%}.home-page .home-hero-copy{top:120px;bottom:auto}.home-page .home-hero-copy>p:not(.eyebrow){font-size:14px}.home-page .hero-actions{margin-top:18px;gap:14px}}
.home-page .home-hero-copy{max-width:min(760px,80vw)}.home-page .home-hero h1{font-size:clamp(54px,6.6vw,116px)}.home-page .home-hero-media img{object-position:65% 75%}
.service-gallery.service-gallery-relevant{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}.service-gallery.service-gallery-relevant img{height:auto;object-fit:contain;grid-column:auto}.service-gallery.service-gallery-relevant img:nth-child(2){height:auto}.service-gallery.service-gallery-relevant img:nth-child(3){height:auto}

.wedding-moments{padding:0 var(--pad) 100px;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:20px;align-items:center}.wedding-moments figure{margin:0}.wedding-moments img{width:100%;height:auto}.home-page .quote-images{grid-template-columns:1.5fr 1fr;align-items:center}.home-page .quote-images img,.home-page .quote-images img:last-child{height:auto;margin:0}.home-page .home-hero-media img{object-position:65% center}.home-page .home-hero h1{line-height:1.02}.home-page .home-hero h1 em{color:#efdbc6}
@media(max-width:600px){.wedding-moments{grid-template-columns:1fr;padding-bottom:70px}.home-page .quote-images{grid-template-columns:1fr}.home-page .home-story-grid figure{height:auto!important;width:100%;margin-left:0!important}.home-page .home-story-grid img{height:auto}.home-page .home-hero-copy{right:22px}.home-page .home-hero h1{font-size:clamp(48px,14vw,72px)}}

:root{--ink:#10110f;--paper:#f2eee8;--white:#fff;--clay:#a64f3e;--sage:#6d7468;--line:rgba(16,17,15,.18);--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--pad:max(24px,6vw)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;overflow-x:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit}.skip-link{position:fixed;z-index:200;top:-80px;left:20px;padding:12px 18px;background:#fff}.skip-link:focus{top:20px}.site-header{position:absolute;z-index:100;top:0;left:0;width:100%;height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);color:#fff;transition:.35s}.site-header.is-scrolled{position:fixed;height:78px;background:rgba(13,14,12,.94);backdrop-filter:blur(14px)}.brand img{width:92px;height:auto;filter:brightness(0) invert(1)}.main-nav{display:flex;align-items:center;gap:clamp(14px,1.5vw,30px);font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.main-nav a{position:relative}.main-nav a:not(.nav-cta):after{content:'';position:absolute;bottom:-6px;left:0;width:0;height:1px;background:#fff;transition:.25s}.main-nav a:hover:after{width:100%}.nav-cta{border:1px solid rgba(255,255,255,.65);padding:11px 17px}.menu-toggle{display:none;background:none;border:0;color:#fff}.eyebrow,.chapter{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:600}.light{color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid var(--ink);background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600;transition:.25s}.button:hover{background:var(--clay);border-color:var(--clay)}.light-button{background:#fff;color:var(--ink);border-color:#fff}.light-button:hover{background:transparent;color:#fff;border-color:#fff}.text-link{display:inline-flex;gap:18px;align-items:center;padding-bottom:5px;border-bottom:1px solid currentColor;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600}.text-link span{font-size:16px}.text-link.light{color:#fff}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.95;letter-spacing:-.035em}h1 em,h2 em{color:var(--clay);font-weight:400}h2{font-size:clamp(45px,6.2vw,105px)}.dark-section{background:#090a08;color:#f8f5ef}.reveal{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}

.home-hero{position:relative;height:min(920px,100svh);min-height:680px;background:#000;color:#fff;overflow:hidden}.home-hero-media,.home-hero-shade{position:absolute;inset:0}.home-hero-media img{height:100%;object-fit:cover;object-position:center 48%;animation:heroZoom 12s ease-out both}.home-hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.74) 0%,rgba(0,0,0,.2) 58%,rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.38),transparent 45%)}@keyframes heroZoom{from{transform:scale(1.04)}to{transform:scale(1)}}.home-hero-copy{position:absolute;left:var(--pad);bottom:clamp(80px,11vh,140px);max-width:850px}.home-hero h1{font-size:clamp(78px,10vw,172px);margin:12px 0 22px;line-height:.8}.home-hero-copy>p:not(.eyebrow){max-width:540px;font-size:18px}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:32px}.scroll-mark{position:absolute;right:var(--pad);bottom:38px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.18em;font-size:9px}.manifesto{padding:clamp(100px,14vw,220px) var(--pad);display:grid;grid-template-columns:1fr 3fr;gap:40px}.manifesto h2{grid-column:2;margin:0;max-width:1200px}.manifesto-copy{grid-column:2;max-width:610px;margin:48px 0 0 auto;font-size:18px;color:#4f4d48}.home-story-grid{padding:0 var(--pad) clamp(120px,13vw,200px);display:grid;grid-template-columns:1fr .55fr 1fr;grid-template-rows:auto 160px auto;gap:22px}.home-story-grid figure{margin:0;overflow:hidden}.home-story-grid img{height:100%;object-fit:cover}.story-a{grid-column:1/3;height:520px}.story-b{grid-column:3;grid-row:1/3;height:680px}.story-c{grid-column:1;grid-row:2/4;height:520px}.story-copy{grid-column:2/4;grid-row:3;padding:72px 8vw 0}.story-copy h2{font-size:clamp(45px,5vw,78px)}.story-copy p{max-width:580px}.services-section{padding:clamp(100px,12vw,180px) var(--pad);background:#dfd8cf}.section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:75px}.section-heading h2{font-size:clamp(48px,6vw,88px);margin:0}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;height:620px;overflow:hidden;background:#111;color:#fff}.service-card:before{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 55%)}.service-card img{height:100%;object-fit:cover;transition:transform .7s}.service-card:hover img{transform:scale(1.035)}.service-card>span{position:absolute;z-index:2;top:24px;left:24px;font-size:11px}.service-card>div{position:absolute;z-index:2;left:28px;right:28px;bottom:28px}.service-card h3{font-size:48px;margin:0 0 10px}.service-card p{margin:0;color:rgba(255,255,255,.78)}.quote-section{padding:clamp(110px,14vw,220px) var(--pad);text-align:center}.quote-section h2{max-width:1100px;margin:40px auto 80px}.quote-images{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;max-width:1200px;margin:0 auto 60px}.quote-images img{height:610px;object-fit:cover}.quote-images img:last-child{height:470px;margin-top:70px}.about-teaser{padding:clamp(100px,12vw,180px) var(--pad);display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:center}.about-teaser h2{font-size:clamp(54px,6.2vw,90px)}.about-teaser>div>p:not(.chapter){max-width:590px}.about-teaser img{height:680px;object-fit:cover;object-position:center top}

.service-hero{min-height:820px;padding:170px var(--pad) 90px;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center;background:#ddd6cc}.service-hero-copy h1{font-size:clamp(64px,7.7vw,125px);margin:26px 0 32px}.service-hero-copy>p:not(.eyebrow){max-width:530px;font-size:18px}.service-hero-copy .text-link{margin-top:26px}.service-hero-image{margin:0;height:650px;overflow:hidden}.service-hero-image img{height:100%;object-fit:cover}.editorial-intro{padding:clamp(100px,12vw,180px) var(--pad);display:grid;grid-template-columns:.65fr 1.5fr .8fr;gap:7vw;align-items:start}.editorial-intro h2{font-size:clamp(52px,6vw,88px);margin:0}.editorial-intro>div:last-child{padding-top:120px;color:#55524c}.process-list{padding:0 var(--pad) 150px}.process-row{display:grid;grid-template-columns:.2fr .9fr 1.5fr;gap:40px;align-items:center;border-top:1px solid var(--line);padding:46px 0}.process-row:last-child{border-bottom:1px solid var(--line)}.process-row>span{font-size:11px}.process-row h3{font-size:42px;margin:0}.process-row p{margin:0;max-width:670px}.portfolio-callout{padding:100px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.portfolio-callout h2{font-size:clamp(55px,6vw,92px)}.portfolio-callout img{height:660px;object-fit:cover}.service-gallery{padding:20px var(--pad) 140px;display:grid;grid-template-columns:1.15fr .7fr .85fr;gap:18px;align-items:end}.service-gallery img{height:560px;object-fit:cover}.service-gallery img:nth-child(2){height:420px}.service-gallery img:nth-child(3){height:500px}.faq-block{padding:clamp(100px,12vw,180px) var(--pad);display:grid;grid-template-columns:1fr 1.2fr;gap:10vw}.faq-block h2{font-size:clamp(52px,5.5vw,80px)}details{border-top:1px solid var(--line);padding:24px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-weight:600}summary:after{content:'+';float:right;font-size:22px;font-weight:300}details[open] summary:after{content:'−'}details p{padding:18px 40px 0 0;color:#5d5a54}

.portfolio-hero{position:relative;height:100svh;min-height:720px;color:#fff;overflow:hidden}.portfolio-hero>img{height:100%;object-fit:cover}.portfolio-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.05) 70%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 50%)}.portfolio-hero-copy{position:absolute;left:var(--pad);bottom:8vh}.portfolio-hero h1{font-size:clamp(80px,11vw,180px);line-height:.78;margin:16px 0 28px}.portfolio-hero-copy>p:last-child{max-width:510px}.portfolio-intro{padding:clamp(100px,12vw,190px) var(--pad);display:grid;grid-template-columns:.55fr 1.8fr .8fr;gap:5vw}.portfolio-intro h2{font-size:clamp(62px,7vw,112px);margin:0}.portfolio-intro>p:last-child{align-self:end;color:#55524c}.portfolio-grid{padding:0 var(--pad) 150px;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:12px}.portfolio-item{border:0;padding:0;background:none;cursor:zoom-in;overflow:hidden;grid-column:span 4;height:480px}.portfolio-item img{height:100%;object-fit:cover;transition:transform .6s}.portfolio-item:hover img{transform:scale(1.025)}.portfolio-item.item-1,.portfolio-item.item-6{grid-column:span 8;height:620px}.portfolio-item.item-2,.portfolio-item.item-5{grid-column:span 4;height:620px}.portfolio-item.item-3{grid-column:span 5;height:540px}.portfolio-item.item-4{grid-column:span 7;height:540px}.portfolio-close{padding:clamp(120px,15vw,240px) var(--pad);text-align:center}.portfolio-close h2{margin:45px auto 70px}.lightbox{width:100vw;max-width:none;height:100vh;max-height:none;border:0;padding:35px;background:rgba(5,5,4,.97);color:#fff}.lightbox::backdrop{background:#000}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox button{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.35);color:#fff;width:54px;height:54px;font-size:32px;cursor:pointer}.lightbox [data-close]{top:25px;right:25px}.lightbox [data-prev]{left:25px;top:50%}.lightbox [data-next]{right:25px;top:50%}

.about-hero{min-height:840px;padding:170px var(--pad) 100px;display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:center}.about-hero h1{font-size:clamp(68px,8vw,128px);margin:25px 0}.about-hero>div>p:last-child{max-width:520px;font-size:18px}.about-hero img{height:650px;object-fit:cover;object-position:center top}.about-copy{padding:clamp(100px,12vw,180px) var(--pad);background:#ddd6cc;display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw}.about-copy h2{font-size:clamp(52px,6vw,92px)}.about-copy>div p{max-width:760px;font-size:18px}.wide-image{padding:var(--pad)}.wide-image img{height:75vh;object-fit:cover}

.simple-hero{padding:200px var(--pad) 120px;min-height:650px}.simple-hero h1{font-size:clamp(76px,9vw,145px);margin:30px 0}.simple-hero>p:not(.eyebrow){max-width:620px;font-size:18px}.simple-hero .button{margin-top:25px}.blog-grid{padding:0 var(--pad) 160px;display:grid;grid-template-columns:repeat(2,1fr);gap:70px 28px}.post-card img{height:440px;object-fit:cover;margin-bottom:24px}.post-card span{font-size:10px;letter-spacing:.18em;text-transform:uppercase}.post-card h2{font-size:46px;margin:16px 0}.post-card p{max-width:580px;color:#55524c}.post-card b{text-transform:uppercase;font-size:10px;letter-spacing:.13em}

.contact-layout{min-height:100vh;padding:180px var(--pad) 120px;display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;background:#ddd6cc}.contact-copy h1{font-size:clamp(80px,9vw,140px);margin:30px 0}.contact-copy>p:not(.eyebrow){max-width:500px}.contact-details{display:flex;flex-direction:column;margin-top:55px;gap:8px}.contact-details a{text-decoration:underline;text-underline-offset:4px}.contact-form{background:var(--paper);padding:clamp(26px,4vw,60px);align-self:start}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:block;margin-bottom:24px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.contact-form small{font-weight:400;color:#777;text-transform:none;letter-spacing:0}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;border:0;border-bottom:1px solid #98948c;background:transparent;padding:14px 0;outline:none;border-radius:0}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--clay)}.contact-form textarea{resize:vertical}.consent{display:flex!important;gap:12px;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}.consent input{width:auto;margin-top:6px}.consent a{text-decoration:underline}.submit-button{width:100%;justify-content:space-between;margin-top:15px}.form-status{margin:16px 0 0}.form-status.error{color:#a32d21}.hp-field{position:absolute!important;left:-9999px!important}.invalid{border-color:#b22!important}

.site-footer{padding:110px var(--pad) 30px;background:#090a08;color:#fff}.footer-lead{max-width:1050px;margin-bottom:110px}.footer-lead h2{font-size:clamp(62px,8vw,125px);margin:25px 0 50px}.footer-grid{border-top:1px solid rgba(255,255,255,.2);padding-top:55px;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px}.footer-grid img{width:100px;filter:brightness(0) invert(1)}.footer-grid>div{display:flex;flex-direction:column;gap:8px}.footer-grid strong{text-transform:uppercase;letter-spacing:.18em;font-size:10px;margin-bottom:12px}.footer-grid a,.footer-grid span{color:rgba(255,255,255,.67);font-size:14px}.copyright{border-top:1px solid rgba(255,255,255,.12);margin:60px 0 0;padding-top:25px;color:rgba(255,255,255,.45);font-size:11px}.floating-contact{position:fixed;z-index:90;right:25px;bottom:25px;display:flex;align-items:center;gap:12px;background:var(--clay);color:#fff;padding:10px 10px 10px 18px;text-transform:uppercase;letter-spacing:.11em;font-size:9px;font-weight:600;box-shadow:0 10px 35px rgba(0,0,0,.2)}.floating-contact b{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.5);font-size:15px}

@media(max-width:980px){.site-header{height:82px}.menu-toggle{display:flex;flex-direction:column;gap:5px;align-items:flex-end}.menu-toggle span{position:absolute;right:42px;font-size:10px;text-transform:uppercase;letter-spacing:.15em}.menu-toggle i{display:block;width:25px;height:1px;background:#fff}.main-nav{position:fixed;inset:0;background:#0b0c0a;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:90px var(--pad);gap:17px;font-family:var(--serif);font-size:36px;text-transform:none;letter-spacing:0;transform:translateX(100%);transition:.4s}.main-nav.open{transform:none}.nav-cta{font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:15px}.manifesto,.editorial-intro,.portfolio-intro{grid-template-columns:1fr}.manifesto h2,.manifesto-copy{grid-column:1}.manifesto-copy{margin-left:0}.home-story-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.story-a{grid-column:1/3}.story-b{grid-column:2;grid-row:2;height:500px}.story-c{grid-column:1;grid-row:2;height:500px}.story-copy{grid-column:1/3;grid-row:3;padding:60px 0}.service-cards{grid-template-columns:1fr}.service-card{height:560px}.service-hero,.about-hero,.contact-layout{grid-template-columns:1fr;padding-top:140px}.service-hero-image{height:580px}.editorial-intro>div:last-child{padding-top:0}.portfolio-intro>p:last-child{max-width:650px}.process-row{grid-template-columns:.2fr 1fr}.process-row p{grid-column:2}.portfolio-callout,.faq-block,.about-teaser,.about-copy{grid-template-columns:1fr}.portfolio-callout img{height:520px}.service-gallery{grid-template-columns:1fr 1fr}.service-gallery img:first-child{grid-column:1/3}.section-heading{grid-template-columns:1fr}.portfolio-item,.portfolio-item.item-1,.portfolio-item.item-2,.portfolio-item.item-3,.portfolio-item.item-4,.portfolio-item.item-5,.portfolio-item.item-6{grid-column:span 6;height:500px}.about-teaser img{height:560px}.blog-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}

@media(max-width:600px){:root{--pad:22px}.home-hero{min-height:650px;height:92svh}.home-hero-media img{object-position:62% center}.home-hero h1{font-size:72px}.home-hero-copy{bottom:70px}.home-hero-copy>p:not(.eyebrow){font-size:15px;max-width:320px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.scroll-mark{display:none}h2{font-size:48px}.manifesto{padding:95px var(--pad)}.manifesto h2{font-size:51px}.manifesto-copy{margin-top:25px;font-size:16px}.home-story-grid{display:block}.home-story-grid figure{height:430px!important;margin-bottom:12px}.story-b{width:72%;margin-left:auto!important}.story-c{width:82%}.story-copy{padding:55px 0 0}.services-section{padding:95px var(--pad)}.service-card{height:470px}.service-card h3{font-size:40px}.quote-section{padding:95px var(--pad)}.quote-images{grid-template-columns:1fr}.quote-images img,.quote-images img:last-child{height:430px;margin:0}.about-teaser{padding:95px var(--pad)}.about-teaser h2{font-size:54px}.about-teaser img{height:470px}.service-hero{min-height:auto;padding:130px var(--pad) 80px}.service-hero-copy h1{font-size:61px}.service-hero-image{height:430px}.editorial-intro{padding:90px var(--pad)}.editorial-intro h2{font-size:52px}.process-row{grid-template-columns:40px 1fr;padding:30px 0;gap:15px}.process-row h3{font-size:36px}.portfolio-callout{padding:90px var(--pad)}.portfolio-callout h2{font-size:52px}.portfolio-callout img{height:430px}.service-gallery{display:block}.service-gallery img{height:420px!important;margin-bottom:12px}.faq-block{padding:90px var(--pad)}.portfolio-hero{min-height:650px;height:92svh}.portfolio-hero>img{object-position:62% center}.portfolio-hero h1{font-size:75px}.portfolio-hero-copy{bottom:55px}.portfolio-intro{padding:90px var(--pad)}.portfolio-intro h2{font-size:56px}.portfolio-grid{padding:0 12px 90px;gap:8px}.portfolio-item,.portfolio-item.item-1,.portfolio-item.item-2,.portfolio-item.item-3,.portfolio-item.item-4,.portfolio-item.item-5,.portfolio-item.item-6{grid-column:span 12;height:auto;aspect-ratio:4/5}.portfolio-item:nth-child(3n){aspect-ratio:4/3}.portfolio-close h2{font-size:57px}.about-hero{padding:130px var(--pad) 80px}.about-hero h1{font-size:64px}.about-hero img{height:500px}.about-copy{padding:90px var(--pad)}.wide-image{padding:12px}.wide-image img{height:60vh}.simple-hero{padding:150px var(--pad) 90px;min-height:550px}.simple-hero h1{font-size:65px}.blog-grid{padding:0 var(--pad) 100px;gap:65px}.post-card img{height:330px}.post-card h2{font-size:40px}.contact-layout{padding:130px var(--pad) 90px}.contact-copy h1{font-size:70px}.contact-form{padding:28px 20px}.field-row{grid-template-columns:1fr;gap:0}.site-footer{padding:90px var(--pad) 25px}.footer-lead h2{font-size:58px}.footer-grid{grid-template-columns:1fr;gap:35px}.floating-contact span{display:none}.floating-contact{padding:9px}.lightbox{padding:12px}.lightbox [data-prev]{left:10px}.lightbox [data-next]{right:10px}.lightbox [data-close]{top:10px;right:10px}}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* The masthead has its own space, including on short desktop windows. */
.home-page .manifesto{padding-top:26px;padding-bottom:90px;row-gap:30px}
.home-moments{grid-column:1/-1;margin-bottom:60px}
.home-moments-row{display:flex;gap:14px;margin-bottom:14px;align-items:stretch}
.home-moments-row figure{margin:0;flex:var(--ratio);min-width:0}
.home-moments-row img{width:100%;height:100%;object-fit:cover}
.home-moments>.text-link{margin-top:22px}
@media(max-width:600px){.home-moments-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-moments-row figure:first-child{grid-column:1/-1}.home-moments-row img{height:auto;object-fit:contain}.home-moments{margin-bottom:30px}.home-page .manifesto{padding-bottom:60px}}
.home-page .home-hero{height:auto;min-height:min(920px,100svh);display:flex;align-items:flex-end;padding:160px var(--pad) 85px}
.home-page .home-hero-copy{position:relative;inset:auto;max-width:780px;width:100%;flex-shrink:0}
.home-page .home-hero h1{font-size:clamp(58px,6.2vw,112px);line-height:1.04;margin:16px 0 24px}
.home-page .home-hero-media img{object-position:50% 75%}
.site-header .brand{flex-shrink:0}
.legal-document .article-body{overflow-wrap:anywhere}.legal-document figure{margin:24px 0;overflow-x:auto}.legal-document table{width:100%;border-collapse:collapse;font-size:15px}.legal-document td,.legal-document th{padding:12px;text-align:left;border:1px solid var(--line);vertical-align:top}.legal-document .article-body em{font-style:normal}
#opiniones{scroll-margin-top:100px}
.reviews-section{padding:70px var(--pad);border-top:1px solid var(--line)}.reviews-heading{max-width:780px}.reviews-heading h2{font-size:clamp(42px,5vw,72px);line-height:1.05;margin-bottom:24px}.reviews-heading>p:last-child{color:#57534e}.reviews-frame{display:block;width:100%;height:520px;border:0;margin-top:30px}
.editorial-article{padding:160px var(--pad) 80px;max-width:1160px;margin:0 auto}.editorial-article header{margin-bottom:50px}.editorial-article header .eyebrow{margin-top:40px}.editorial-article h1{font-size:clamp(44px,5.5vw,78px);line-height:1.08;max-width:950px}.article-body{max-width:760px;margin:auto;font-size:18px;line-height:1.85}.article-body h2{font-size:clamp(32px,3.3vw,48px);line-height:1.15;margin-top:54px;margin-bottom:24px}.article-body h3{font-size:30px;line-height:1.2;margin-top:34px}.article-body a{text-decoration:underline;text-underline-offset:4px}.article-body li{margin-bottom:12px}.article-next{max-width:760px;margin:70px auto 0;padding-top:35px;border-top:1px solid var(--line)}.article-next h2{font-size:44px;line-height:1.1}.article-next .text-link{margin:24px}
@media(max-width:600px){.reviews-section{padding:50px var(--pad)}.reviews-frame{height:590px}.editorial-article{padding:125px var(--pad) 55px}.editorial-article h1{font-size:44px}.article-body{font-size:17px}.article-next .text-link{margin:24px 0;display:table}}
.trust-strip{margin:0 var(--pad) 72px;padding:28px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-strip strong{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(25px,2.7vw,40px);line-height:1.2;margin-bottom:8px}
.trust-strip span{font-size:13px;color:#57534e}
.service-practical{padding:70px var(--pad);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:8vw;align-items:start}
.service-practical h2{font-size:clamp(38px,4.3vw,64px);line-height:1.08;margin-bottom:28px}
.service-practical p{max-width:680px;color:#4f4d48}
.service-practical aside{padding:32px;background:#e8e1d7;border-top:2px solid var(--clay)}
.service-practical h3{font-size:32px;line-height:1.12;margin-bottom:22px}
.service-practical ul{padding-left:20px;margin-bottom:28px}.service-practical li{margin-bottom:12px}
@media(max-width:600px){.trust-strip{grid-template-columns:1fr;margin-bottom:50px;gap:20px}.trust-strip>div+div{border-top:1px solid var(--line);padding-top:20px}.service-practical{grid-template-columns:1fr;padding:50px var(--pad);gap:26px}.service-practical aside{padding:24px}.service-practical h2{font-size:40px}}
/* Only photographic covers use an overlay header. Light pages need contrast. */
body:not(.home-page):not(.portfolio-page) .site-header{background:#10110f;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.site-header a:focus-visible,.site-header button:focus-visible{outline:2px solid #fff;outline-offset:6px}
@media(max-width:980px){.site-header .menu-toggle{z-index:102;min-height:44px;min-width:44px;justify-content:center}.site-header .main-nav{z-index:101;visibility:hidden;pointer-events:none}.site-header .main-nav.open{visibility:visible;pointer-events:auto}}
.portfolio-callout-text{grid-template-columns:1fr}
.home-page .home-story-grid{grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;align-items:center;gap:48px}
.home-page .home-story-grid figure{height:auto!important;margin:0!important}
.home-page .home-story-grid img{height:auto;object-fit:contain}
.home-page .story-a{grid-column:1;grid-row:1;width:100%}
.home-page .story-b{grid-column:2;grid-row:1;width:78%;justify-self:end}
.home-page .story-c{grid-column:1;grid-row:2;width:55%;justify-self:center}
.home-page .story-copy{grid-column:2;grid-row:2;padding:20px 0}
@media(max-width:600px){.home-page .home-story-grid{display:grid;grid-template-columns:1fr;gap:22px}.home-page .home-story-grid figure,.home-page .story-copy{grid-column:1;grid-row:auto;width:100%;padding:0}.home-page .story-copy{padding-top:22px}}
.site-header .menu-toggle{position:relative}
@media(max-width:600px){
  .home-page .home-hero{min-height:760px;padding:135px var(--pad) 75px;align-items:flex-start}
  .home-page .home-hero-copy{position:relative;inset:auto;max-width:100%}
  .home-page .home-hero h1{font-size:clamp(48px,13.5vw,72px);line-height:1.05}
  .home-page .home-hero-media img{object-position:45% 75%}
}
/* Keep the page readable when JavaScript is unavailable. */
.reveal{opacity:1;transform:none}
.has-reveal .reveal:not(.visible){opacity:0;transform:translateY(32px)}
@media(prefers-reduced-motion:reduce){.has-reveal .reveal:not(.visible){opacity:1;transform:none}}
.site-footer .copyright{color:#aaa9a6}
/* Clear decisions and comfortable editorial rhythm; portfolio keeps its own styles. */
.main-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}
.carrete-experiences{padding:64px var(--pad);border-top:1px solid var(--line);background:var(--paper,#f3efe7)}
.carrete-intro{max-width:790px;margin-bottom:34px}.carrete-intro h2{font-size:clamp(34px,4vw,54px);line-height:1.1;margin-bottom:20px}.carrete-intro>p:not(.chapter){margin-bottom:20px;max-width:690px}
.carrete-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.carrete-options article{border-top:1px solid var(--line);padding-top:25px}.carrete-options .eyebrow{color:#55524c;margin-bottom:13px}.carrete-options h3{font-size:clamp(30px,3vw,42px);line-height:1.12;margin-bottom:18px}.carrete-options article>p:not(.eyebrow){max-width:590px}
.carrete-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:16px}.carrete-actions a{font-size:14px;line-height:1.6;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}.carrete-experiences a:focus-visible{outline:2px solid var(--clay);outline-offset:5px}.carrete-actions a:hover{color:var(--clay)}
@media(max-width:600px){.carrete-experiences{padding:46px var(--pad)}.carrete-options{grid-template-columns:1fr;gap:30px}.carrete-intro .text-link{font-size:12px;line-height:1.6;white-space:normal}.carrete-options h3{font-size:34px}}
.decision-links{padding:72px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid var(--line)}
.decision-links h2{font-size:clamp(36px,4.5vw,64px);line-height:1.1;margin-bottom:20px;letter-spacing:-.025em}
.decision-link-list a{display:block;padding:24px 0;border-bottom:1px solid var(--line)}
.decision-link-list a:first-child{padding-top:0}.decision-link-list a>span{display:block;font-size:14px;color:#55524c;margin-bottom:8px}
.decision-link-list strong{font-weight:500;font-size:20px;line-height:1.4}.decision-link-list strong span{margin-left:12px;color:var(--clay)}
.decision-link-list a:hover strong{text-decoration:underline;text-underline-offset:4px}.decision-links a:focus-visible,.topic-links a:focus-visible,.post-card a:focus-visible{outline:2px solid var(--clay);outline-offset:6px}
.approach-copy{max-width:680px}.approach-copy p{margin-bottom:22px}.about-hero>div>p:not(.eyebrow){max-width:560px;font-size:18px}
.about-hero h1,.contact-copy h1,.simple-hero h1{line-height:1.06}.home-page .manifesto{padding-top:clamp(70px,8vw,120px);padding-bottom:clamp(70px,8vw,120px)}
.home-page .manifesto h2{line-height:1.08}.contact-copy h1{font-size:clamp(56px,7vw,100px)}
.contact-next-steps{padding-left:22px;max-width:480px;margin:30px 0}.contact-next-steps li{padding-left:8px;margin-bottom:18px}.contact-next-steps strong{display:block;font-weight:600}
.contact-details p{margin:0 0 8px}.contact-form .form-intro{font-size:14px;color:#55524c;margin-bottom:28px;line-height:1.65}
.contact-form .field-help{display:block;font-size:13px;line-height:1.5;margin-top:10px;color:#55524c}
.contact-form .field-error{display:block;margin-top:8px;font-size:13px;line-height:1.5;letter-spacing:normal;text-transform:none;color:#962f21;font-weight:500}
.contact-form .field-error[hidden]{display:none}.contact-form .consent{flex-wrap:wrap}.contact-form .consent>span:not(.field-error){flex:1;min-width:0}.contact-form .consent>.field-error{flex-basis:100%;margin-top:0}
.contact-form .form-alternative{font-size:13px;line-height:1.6;color:#55524c;margin:24px 0 0}.form-alternative a,.confirmation-note a{text-decoration:underline;text-underline-offset:3px}
.submit-button:disabled{opacity:.65;cursor:wait}.blog-hero{padding-bottom:65px;min-height:0}.topic-links{display:flex;flex-wrap:wrap;gap:16px 30px;margin-top:30px}.topic-links a{font-size:14px;text-decoration:underline;text-underline-offset:5px}
.blog-topic{scroll-margin-top:105px}.blog-topic>header{padding:0 var(--pad) 35px}.blog-topic>header h2{font-size:clamp(32px,4vw,54px);line-height:1.12;margin-bottom:18px;max-width:850px}.blog-topic>header p{max-width:650px;color:#55524c}
.blog-topic .blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:90px;gap:28px}.blog-topic .post-card{min-width:0}.blog-topic .post-card img{height:280px;object-fit:cover}.blog-topic .post-card h3{font-size:clamp(28px,2.8vw,42px);line-height:1.12;margin:22px 0 16px}.blog-topic .post-card p{font-size:15px}.post-card a{display:block}
@media(max-width:980px){.decision-links{grid-template-columns:1fr;gap:24px}.blog-topic .blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.decision-links{padding:50px var(--pad)}.decision-links h2{font-size:38px}.blog-topic .blog-grid{grid-template-columns:1fr;gap:40px;padding-bottom:65px}.blog-topic .post-card img{height:270px}.blog-topic .post-card h3{font-size:34px}.contact-copy h1{font-size:58px}.contact-layout{gap:36px}.contact-details{margin-top:30px}.simple-hero h1{font-size:56px}.home-page .manifesto h2{font-size:44px}.about-hero h1{font-size:56px}}
