.site-footer{background:var(--bg);color:var(--ink);border-top:1px solid var(--line);margin-top:clamp(4rem,8vw,7rem);padding:clamp(3rem,6vw,5rem) 0 0}.site-footer a{color:inherit;text-decoration:none;transition:color .18s}.site-footer a:hover{color:var(--ink)}.site-footer .wrap{gap:2.5rem;display:grid}.site-footer-brand{align-items:center;gap:.9rem;display:inline-flex}.site-footer-brand img{border:1px solid var(--line);object-fit:cover;border-radius:.85rem;width:2.65rem;height:2.65rem}.site-footer-brand span{flex-direction:column;gap:.05rem;display:flex}.site-footer-brand strong{text-transform:uppercase;letter-spacing:.26em;color:var(--ink);font-size:.7rem}.site-footer-brand small{text-transform:uppercase;letter-spacing:.26em;color:var(--muted);font-size:.57rem}.site-footer-copy{max-width:48ch;color:var(--muted);margin:1rem 0 0;font-size:.9rem;line-height:1.6}.site-footer-nav{flex-direction:column;gap:.6rem;display:flex}.site-footer-nav a{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.site-footer-nav a:hover{color:var(--ink)}.site-footer-contact{flex-direction:column;gap:.6rem;display:flex}.site-footer-contact a{color:var(--muted);font-size:.82rem}.site-footer-contact a:hover{color:var(--ink)}.site-footer-grid{grid-template-columns:1fr;gap:2.5rem;display:grid}.site-footer-bottom{border-top:1px solid var(--line);flex-direction:column;gap:1rem;padding:1.5rem 0;display:flex}.site-footer-legal{flex-wrap:wrap;gap:.5rem 1.2rem;display:flex}.site-footer-legal a{color:var(--muted);font-size:.72rem}.site-footer-legal a:hover{color:var(--ink)}.site-footer-meta{flex-wrap:wrap;gap:.3rem 1.5rem;display:flex}.site-footer-meta span{color:var(--muted);font-size:.68rem}@media (width>=768px){.site-footer-grid{grid-template-columns:1.4fr 1fr 1fr}.site-footer-bottom{flex-direction:row;justify-content:space-between;align-items:center}}:root{--bg:#f2f0eb;--surface:#ffffffb3;--surface-strong:#fbfaf7;--ink:#13182a;--muted:#5c6070;--accent:#cfd6e5;--accent-strong:#a8b8d7;--line:#13182a1f;--line-strong:#13182a38;--shadow:0 22px 50px #13182a14;--radius-xl:40px;--radius-lg:28px;--radius-md:20px;--radius-sm:14px;--max-width:1180px;--transition:.18s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{min-width:320px;color:var(--ink);background:radial-gradient(circle at top right, #cfd6e57a, transparent 28%), radial-gradient(circle at left 10%, #ffffffa6, transparent 25%), var(--bg);margin:0;font-family:Manrope,sans-serif;line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:3px}.skip-link{z-index:9999;background:var(--ink);color:#fff;border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:.5rem 1rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,textarea{font:inherit}.wrap{width:min(var(--max-width), calc(100% - 2rem));margin:0 auto}.site-header{z-index:40;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);background:#f2f0ebcc;position:sticky;top:0}.header-bar{justify-content:space-between;align-items:center;gap:1rem;min-height:5rem;display:flex}.brand{align-items:center;gap:.9rem;text-decoration:none;display:inline-flex}.brand img{border:1px solid var(--line);object-fit:cover;width:2.65rem;height:2.65rem;box-shadow:var(--shadow);border-radius:.85rem}.brand-text{flex-direction:column;gap:.05rem;display:flex}.brand-text strong,.brand-text small{text-transform:uppercase;letter-spacing:.26em}.brand-text strong{font-size:.7rem}.brand-text small{color:var(--muted);font-size:.57rem}.site-nav{align-items:center;gap:1rem;display:flex}.site-nav a{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);transition:color var(--transition);font-size:.72rem;font-weight:700;text-decoration:none;position:relative}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}.site-nav a[aria-current=page]:after{content:"";background:currentColor;width:100%;height:1px;position:absolute;bottom:-.5rem;left:0}.site-nav .nav-cta{color:var(--ink);border:1px solid var(--line-strong);background:#ffffffa3;border-radius:999px;padding:.8rem 1rem}.site-nav .nav-cta:hover{background:#fff}.site-nav .nav-cta[aria-current=page]{color:#fff;background:var(--ink);border-color:var(--ink)}.site-nav .nav-cta[aria-current=page]:after{display:none}.menu-btn{border:1px solid var(--line-strong);width:2.9rem;height:2.9rem;color:var(--ink);cursor:pointer;background:#ffffffb8;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:.28rem;display:none}.menu-btn span{width:1rem;height:1px;transition:transform var(--transition), opacity var(--transition);background:currentColor}.menu-btn[aria-expanded=true] span:first-child{transform:translateY(.2rem)rotate(45deg)}.menu-btn[aria-expanded=true] span:last-child{transform:translateY(-.2rem)rotate(-45deg)}.section{padding-bottom:clamp(4rem,9vw,7rem)}section.section.hero.reveal.is-visible{padding-bottom:0}.section.hero+.section{padding-top:clamp(3rem,7vw,5rem)}main>.section:first-child{padding-top:clamp(4rem,9vw,7rem)}.page-services main>.section:first-child,.page-contact main>.section:first-child{padding-bottom:0}.eyebrow{color:var(--muted);letter-spacing:.32em;text-transform:uppercase;margin:0 0 1rem;font-size:.72rem;font-weight:800}.eyebrow.on-dark{color:#ffffffb8}h1,h2,h3,h4{letter-spacing:-.05em;margin:0;font-family:Syne,sans-serif;line-height:.94}.hero-grid{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}.hero-intro{gap:1rem;display:grid}.page-hero,.about-hero{grid-template-columns:1fr;align-items:start;gap:clamp(2rem,4vw,4rem);display:grid}.hero-intro h1,.page-title,.mark-display{font-size:clamp(2.4rem,12vw,4rem)}.hero-intro h1 span,.page-title span,.mark-display span{color:#9daccc}.lead,.page-intro,.section-head p,.feature-card p,.check-item p,.service-card p,.process-card p,.journal-card p,.info-card p,.content-card p,.contact-card p,.footer-copy,.cta-banner p,.quote-panel p,.about-copy p,.detail-list li,.mini-list li,.contact-note,.story-intro,.story-card p:not(.story-tag){color:var(--muted)}.lead,.page-intro{max-width:60ch;margin-top:1.25rem;font-size:1.05rem}.button-row{flex-wrap:wrap;gap:.85rem;width:100%;margin-top:1.8rem;display:flex}.button-row .btn{width:100%}.hero-copy .button-row{margin-bottom:4rem}.btn{letter-spacing:.2em;text-transform:uppercase;min-height:3.2rem;transition:transform var(--transition), background var(--transition), color var(--transition), border-color var(--transition);border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.35rem;font-size:.77rem;font-weight:800;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-solid{color:#fff;background:var(--ink);border:1px solid var(--ink)}.btn-line{color:var(--ink);border:1px solid var(--line-strong);background:#fff9}.btn-solid-light{color:var(--ink);background:#fff;border:1px solid #fff}.btn-dark-line{color:#fff;background:0 0;border:1px solid #ffffff47}.hero-meta{grid-template-columns:1fr;gap:1rem;margin-top:2.2rem;display:grid}.hero-meta article,.process-card,.info-card,.service-card,.journal-card,.feature-card,.contact-card,.content-card,.stat-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);padding:1.25rem}.hero-meta article{border:0;border-top:1px solid var(--line-strong);box-shadow:none;background:0 0;border-radius:0;padding:1rem 0 0}.hero-meta strong{margin-bottom:.35rem;font-family:Syne,sans-serif;font-size:1.35rem;display:block}.hero-visual{grid-template-columns:1fr;gap:1rem;display:grid}.visual-stack{grid-template-columns:repeat(2,minmax(0,1fr));align-self:end;gap:1rem;display:grid}.frame,.feature-card figure,.service-card figure,.journal-card figure,.portfolio-item figure,.about-portrait,.story-cover{border-radius:calc(var(--radius-lg) - 4px);background:var(--surface-strong);overflow:hidden}.frame{border:1px solid var(--line);box-shadow:var(--shadow)}.frame img,.feature-card img,.service-card img,.journal-card img,.portfolio-item img,.about-portrait img,.story-cover img{object-fit:cover;width:100%;height:100%;transition:transform .42s}.frame:hover img,.feature-card:hover img,.service-card:hover img,.journal-card:hover img,.portfolio-item:hover img{transform:scale(1.03)}.frame-tall{aspect-ratio:4/5}.frame-square,.frame-wide{aspect-ratio:1}.section-head{grid-template-columns:1fr;align-items:end;gap:2rem;margin-bottom:2rem;display:grid}.section-head h2,.cta-banner h2,.contact-hero h1{font-size:clamp(2.2rem,6vw,4.4rem)}.section-head.compact{grid-template-columns:1fr;margin-bottom:1.6rem}.feature-grid,.service-grid,.process-grid,.contact-grid,.detail-grid,.story-grid{grid-template-columns:1fr;gap:1rem;display:grid}.feature-card,.service-card,.journal-card,.portfolio-item,.info-card,.contact-card,.content-card,.story-card{overflow:hidden}.feature-card figure,.service-card figure{aspect-ratio:4/5;border-radius:0;margin:-1.25rem -1.25rem 1.25rem}.feature-card-body{gap:.7rem;display:grid}.feature-card h3,.service-card h3,.process-card h3,.journal-card h3,.info-card h3,.content-card h3,.contact-card h3{font-size:1.55rem}.card-kicker,.meta-label,.portfolio-meta,.story-tag,.mini-eyebrow{color:var(--muted);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.link-inline{color:var(--ink);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.74rem;font-weight:800;text-decoration:none;display:inline-flex}.link-inline:after{content:"→";font-size:.95rem}.bodas-text{max-width:100%}.bodas-text p{color:var(--text);text-align:justify;margin:0 0 1.4rem;font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.75}.bodas-text p:last-child{margin-bottom:0}.bodas-collage img{border-radius:var(--radius);width:100%;display:block}.quote-panel{flex-direction:column;align-items:center;gap:.5rem;display:flex}.quote-panel p{text-align:justify;width:100%;margin:0}.quote-panel .button-row{align-self:flex-end;margin-top:0}@media (width<=760px){.quote-panel .button-row,.quote-panel .button-row .btn{width:100%}}.quote-panel blockquote{letter-spacing:-.06em;overflow-wrap:break-word;width:100%;margin:0 auto 1rem;font-family:Syne,sans-serif;font-size:clamp(1.3rem,5vw,4.4rem);line-height:.95}.split-panel{grid-template-columns:1fr;align-items:stretch;gap:1.2rem;display:grid}.checklist-panel,.cta-banner,.content-card,.about-copy,.about-statement{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);padding:clamp(1.4rem,3vw,2rem)}.poster-card{place-items:center;min-height:100%;display:grid}.poster-inner{text-align:center;place-items:center;gap:1rem;width:100%;max-width:100%;display:grid}.poster-inner img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:1.2rem;width:min(8rem,60%)}.poster-caption{color:var(--muted);max-width:28ch;margin:0}.checklist{gap:1rem;display:grid}.check-item{border-bottom:1px solid var(--line);padding-bottom:1rem}.check-item:last-child{border-bottom:0;padding-bottom:0}.check-item h3{margin-bottom:.45rem}.cta-banner{color:#fff;background:radial-gradient(circle at 100% 0,#9daccc47,#0000 26%),#111522;grid-template-columns:1fr;align-items:center;gap:2rem;display:grid}.cta-banner p{color:#bcbcc5;max-width:52ch}.page-hero{align-items:start}.page-title{max-width:10ch}.service-grid,.detail-grid,.contact-grid{margin-top:2rem}.service-card figure,.journal-card figure,.about-portrait,.story-cover{border-radius:0;margin:-1.25rem -1.25rem 1.25rem}.service-card figure,.journal-card figure,.story-cover{aspect-ratio:4/5}.detail-list,.mini-list,.story-list{gap:.8rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.detail-list li,.mini-list li,.story-list li{border-top:1px solid var(--line);padding-top:.8rem}.filter-bar{flex-wrap:wrap;gap:.6rem;margin:2rem 0 1.4rem;display:flex}.filter-btn{border:1px solid var(--line-strong);color:var(--muted);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);background:#ffffff94;border-radius:999px;padding:.72rem 1rem;font-size:.72rem;font-weight:800}.filter-btn:hover,.filter-btn.is-active{color:#fff;background:var(--ink);border-color:var(--ink)}.portfolio-grid{grid-template-columns:1fr;gap:1rem;display:grid}.portfolio-item{transition:opacity .2s,transform .2s}.portfolio-item.is-hidden{display:none}.portfolio-item figure{aspect-ratio:4/5;border-radius:0;margin:-1.25rem -1.25rem 1rem}.portfolio-caption{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.portfolio-caption h3{font-size:1.3rem}.portfolio-meta{color:var(--muted)}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);padding:1.25rem}.story-cover{margin:-1.25rem -1.25rem 1.25rem}.story-card h3{font-size:1.8rem}.story-card p{margin:.75rem 0 0}.story-card .link-inline{margin-top:1rem}.about-copy{gap:1rem;display:grid}.about-copy p{max-width:56ch;margin:0}.about-hero{align-items:start}.about-portrait{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius-xl);background-position:50%;background-size:cover;align-self:stretch;margin:0}.about-statement blockquote{max-width:18ch;margin:0 0 1rem;font-family:Syne,sans-serif;font-size:clamp(1.8rem,4vw,3rem);line-height:1}.about-columns,.contact-shell{grid-template-columns:1fr;gap:1rem;display:grid}.contact-card a{color:var(--ink);text-decoration:none}.contact-note{margin-top:1rem}.process-grid{margin-top:2rem}.process-card span,.stat-number{color:var(--muted);letter-spacing:.22em;text-transform:uppercase;margin-bottom:.6rem;font-size:.8rem;font-weight:800;display:block}.reveal{transition:transform .7s;transform:translateY(1.5rem)}.reveal.is-visible{transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{transform:none}}@media (width<=760px){.menu-btn{display:inline-flex}.site-nav{border:1px solid var(--line);box-shadow:var(--shadow);background:#fbfaf7f5;border-radius:1.4rem;flex-direction:column;align-items:stretch;padding:1rem;display:none;position:absolute;top:calc(100% + .75rem);left:1rem;right:1rem}.site-nav.open{display:flex}.site-nav a[aria-current=page]:after{display:none}.site-nav .nav-cta{text-align:center}.wrap{width:min(var(--max-width), calc(100% - 2rem))}}@media (width>=768px){.hero-intro h1{font-size:clamp(3.4rem,9vw,6.8rem)}.hero-visual{grid-template-columns:minmax(0,.78fr) minmax(0,1fr)}.hero-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.service-grid,.process-grid,.contact-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.frame-wide{aspect-ratio:5/4}.button-row,.button-row .btn{width:auto}.hero-copy .lead{text-align:justify;max-width:none}.page-title,.mark-display{font-size:clamp(3.4rem,9vw,6.8rem)}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.page-home .section-head,.page-services .section-head,.page-about .section-head,.page-contact .section-head{grid-template-columns:1fr;margin-top:2rem}.section-head{grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.feature-grid,.service-grid,.process-grid,.contact-grid,.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.split-panel{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.cta-banner{grid-template-columns:minmax(0,1fr) auto}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-shell{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}.page-hero,.about-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.about-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.page-about .about-hero{align-items:end;gap:1rem}@media (width<=1023px){.page-about .about-portrait{min-height:20rem}}.page-about .mark-display{font-size:clamp(3.4rem,9vw,6.8rem)}.cookie-banner{z-index:900;background:#13182a66;justify-content:center;align-items:center;width:100vw;height:100vh;display:none;position:fixed;top:0;left:0}.cookie-banner.is-visible{display:flex}.cookie-panel{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;align-items:stretch;gap:1rem;width:min(480px,100% - 2rem);padding:1.5rem 1.75rem;display:flex;box-shadow:0 24px 80px #13182a33}.cookie-text{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.cookie-link{color:var(--ink);text-underline-offset:2px;white-space:nowrap;text-decoration:underline}.cookie-actions{justify-content:flex-end;gap:.6rem;display:flex}.cookie-btn{letter-spacing:.02em;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), color var(--transition);white-space:nowrap;padding:.45rem 1rem;font-family:Manrope,sans-serif;font-size:.78rem;font-weight:600}.cookie-reject{border:1px solid var(--line-strong);color:var(--muted);background:0 0}.cookie-reject:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}.cookie-accept{background:var(--ink);border:1px solid var(--ink);color:#fff}.cookie-accept:hover{background:#2a3148;border-color:#2a3148}
