@font-face{font-family:HK;src:url('fonts/HKGrotesk-Regular.otf')}@font-face{font-family:HK;src:url('fonts/HKGrotesk-SemiBold.otf');font-weight:600}
:root{--ink:#171316;--paper:#f8f3ee;--white:#fffdfa;--rose:#ce2565;--rose2:#f3d7e1;--plum:#4b1832;--sand:#dfd0c3;--muted:#756d70;--line:rgba(23,19,22,.14);--serif:'Bodoni MT',Didot,'Times New Roman',serif;--sans:HK,Arial,sans-serif}
*{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.55}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.container{width:min(1180px,calc(100% - 42px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:600;color:var(--rose)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98;margin:0}h1{font-size:clamp(4rem,8.4vw,8.8rem);letter-spacing:-.055em}h2{font-size:clamp(2.7rem,5vw,5.8rem);letter-spacing:-.045em}h3{font-size:clamp(1.6rem,2.6vw,2.5rem);letter-spacing:-.025em}p{margin:0 0 1em}.lead{font-size:clamp(1.1rem,1.8vw,1.42rem);max-width:650px;color:#413b3e}.small{font-size:.86rem;color:var(--muted)}
.header{position:sticky;top:0;z-index:50;background:rgba(248,243,238,.9);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:.3s}.header.scrolled{border-color:var(--line);box-shadow:0 8px 30px rgba(20,10,15,.05)}.nav{height:86px;display:flex;align-items:center;gap:28px}.brand{font-family:var(--serif);font-size:1.35rem;letter-spacing:.04em;white-space:nowrap}.brand span{color:var(--rose);font-style:italic}.menu{display:flex;align-items:center;gap:25px;margin-left:auto;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.menu a{position:relative}.menu a:after{content:'';position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--rose);transition:.25s}.menu a:hover:after,.menu a.active:after{right:0}.lang{display:flex;gap:8px;border-left:1px solid var(--line);padding-left:18px}.lang a.active{color:var(--rose)}.book-pill{padding:11px 16px;border:1px solid var(--ink);border-radius:999px}.book-pill:hover{background:var(--ink);color:var(--white)}.burger{display:none;margin-left:auto;background:none;border:0;font-size:1.5rem}
.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch;border-bottom:1px solid var(--line)}.hero-copy{padding:8vh max(28px,calc((100vw - 1180px)/2)) 7vh max(21px,calc((100vw - 1180px)/2));display:flex;flex-direction:column;justify-content:center}.hero-copy h1 em{color:var(--rose);font-style:italic}.hero-copy .lead{margin-top:28px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border-radius:999px;border:1px solid var(--ink);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;transition:.25s}.btn.primary{background:var(--ink);color:var(--white)}.btn.primary:hover{background:var(--rose);border-color:var(--rose)}.btn:hover{transform:translateY(-2px)}.hero-image{position:relative;overflow:hidden;min-height:610px}.hero-image img{height:100%;object-fit:cover;object-position:50% 34%;filter:saturate(.82) contrast(1.02)}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,243,238,.16),transparent 30%)}.hero-badge{position:absolute;z-index:2;left:28px;bottom:28px;background:rgba(255,253,250,.9);backdrop-filter:blur(10px);padding:14px 18px;border-radius:99px;font-size:.8rem;letter-spacing:.06em}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);background:var(--white)}.stat{padding:30px;text-align:center;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat b{font-family:var(--serif);font-size:2.2rem;font-weight:400;display:block}.stat span{font-size:.73rem;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}
.section{padding:110px 0}.section.tight{padding:78px 0}.section.white{background:var(--white)}.section.dark{background:var(--ink);color:var(--white)}.section.rose{background:var(--rose2)}.section-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:end;margin-bottom:60px}.section-head .lead{margin-left:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.photo{position:relative;overflow:hidden;border-radius:3px}.photo img{aspect-ratio:4/5;object-fit:cover}.photo.wide img{aspect-ratio:4/3}.photo .tag{position:absolute;left:16px;bottom:16px;background:rgba(255,253,250,.92);padding:8px 12px;border-radius:99px;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.kicker{font-family:var(--serif);font-size:clamp(1.8rem,3.2vw,3.6rem);line-height:1.08;margin:18px 0 22px}.checklist{list-style:none;padding:0;margin:26px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.checklist li{padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}.checklist li:before{content:'✦';color:var(--rose);margin-right:9px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:var(--white);border:1px solid var(--line);padding:32px;min-height:320px;display:flex;flex-direction:column;transition:.3s}.card:hover{transform:translateY(-5px);box-shadow:0 20px 60px rgba(52,25,39,.08)}.card .num{color:var(--rose);font-size:.72rem;letter-spacing:.12em}.card h3{margin:34px 0 18px}.card p{color:#625a5e}.card .link{margin-top:auto;text-transform:uppercase;font-size:.72rem;letter-spacing:.11em;font-weight:600}.card.feature{background:var(--plum);color:white}.card.feature p{color:#e8dce2}.price{font-family:var(--serif);font-size:2.7rem;margin-top:14px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step{padding:38px 25px;border-right:1px solid var(--line)}.step:last-child{border-right:0}.step .circle{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--rose2);color:var(--rose);margin-bottom:30px}.step h3{font-size:1.7rem;margin-bottom:12px}.step p{font-size:.88rem;color:var(--muted)}
.gallery-strip{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:12px}.gallery-strip img{height:520px;object-fit:cover}.gallery-strip img:nth-child(2){margin-top:52px;height:468px}.quote{padding:90px 0;text-align:center;background:var(--plum);color:var(--white)}.quote blockquote{font-family:var(--serif);font-size:clamp(2.1rem,4vw,4.6rem);line-height:1.08;max-width:950px;margin:0 auto 24px}.quote span{color:#e9a3bd;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em}
.faq{max-width:900px;margin:auto}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-family:var(--serif);font-size:1.5rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.faq summary:after{content:'+';font-family:var(--sans);color:var(--rose)}.faq details[open] summary:after{content:'–'}.faq details p{padding-top:14px;max-width:760px;color:#5c5559}
.page-hero{padding:95px 0 70px;border-bottom:1px solid var(--line)}.page-hero .grid{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:end}.page-hero h1{font-size:clamp(4rem,8vw,8rem)}.page-hero p{font-size:1.15rem;color:#514a4e}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.featurebox{background:var(--white);padding:30px;border:1px solid var(--line)}.featurebox h3{font-size:1.8rem;margin:12px 0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service{padding:28px;background:var(--white);border:1px solid var(--line)}.service h3{font-size:1.55rem;margin:15px 0}.service p{font-size:.9rem;color:#665e62}.masonry{columns:4 240px;column-gap:12px}.masonry img{margin-bottom:12px;break-inside:avoid}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.post{background:var(--white);border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;min-height:260px}.post .meta{color:var(--rose);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.post h3{margin:16px 0}.post p{color:#685f63;font-size:.9rem}.post a{margin-top:auto;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-panel{background:var(--white);padding:36px;border:1px solid var(--line)}.contact-panel a.big{display:block;font-family:var(--serif);font-size:2rem;margin:10px 0 30px;color:var(--rose)}
.ecosystem{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.eco{background:var(--paper);padding:32px}.eco b{display:block;font-family:var(--serif);font-size:1.7rem;margin:8px 0}.eco a{font-size:.73rem;text-transform:uppercase;letter-spacing:.11em;color:var(--rose)}
.footer{background:#110e10;color:#eee5e9;padding:70px 0 30px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr;gap:45px}.footer .brand{font-size:1.8rem}.footer h4{font-size:.73rem;text-transform:uppercase;letter-spacing:.12em;color:#bd9baa}.footer a{display:block;margin:9px 0;font-size:.9rem;color:#e0d4d9}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;color:#8f8288;font-size:.74rem}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.menu{display:none}.burger{display:block}.menu.open{position:absolute;display:flex;flex-direction:column;align-items:flex-start;top:86px;left:0;right:0;padding:26px;background:var(--paper);border-bottom:1px solid var(--line);gap:20px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:80px 28px 55px}.hero-image{min-height:62vh}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.section-head,.split,.page-hero .grid,.contact-grid{grid-template-columns:1fr}.section-head{gap:25px}.section-head .lead{margin:0}.cards,.service-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.gallery-strip img{height:380px}.gallery-strip img:nth-child(2){height:340px}.footer-grid{grid-template-columns:1fr 1fr}.ecosystem{grid-template-columns:1fr}}
@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.nav{height:72px}.menu.open{top:72px}.lang{margin-left:0;padding-left:0;border:0}.hero-copy{padding:60px 18px 44px}.hero-image{min-height:70vh}.stats{grid-template-columns:1fr 1fr}.stat{padding:22px 10px}.section{padding:75px 0}.cards,.service-grid,.feature-grid,.steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)}.gallery-strip{grid-template-columns:1fr 1fr}.gallery-strip img{height:340px}.gallery-strip img:nth-child(2){height:300px;margin-top:40px}.gallery-strip img:nth-child(3){display:none}.checklist{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:10px}.journal-grid{grid-template-columns:1fr}.page-hero{padding:65px 0 45px}}

/* Gutenberg compatibility — V1.3 */
.tm-page-content .wp-block-group,.tm-page-content .wp-block-image,.tm-page-content .wp-block-buttons,.tm-page-content .wp-block-button{margin-block-start:0;margin-block-end:0}.tm-page-content .wp-block-image{margin:0}.tm-page-content .hero-image .wp-block-image{height:100%}.tm-page-content .hero-image .wp-block-image img{height:100%}.tm-page-content .wp-block-buttons.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.tm-page-content .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border-radius:999px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;transition:.25s}.tm-page-content .wp-block-button.primary .wp-block-button__link{background:var(--ink);color:var(--white)}.tm-page-content .wp-block-button.primary .wp-block-button__link:hover{background:var(--rose);border-color:var(--rose)}.tm-page-content .wp-block-button__link:hover{transform:translateY(-2px)}.tm-page-content p.eyebrow,.tm-page-content p.kicker,.tm-page-content p.price,.tm-page-content p.num,.tm-page-content p.link,.tm-page-content p.circle,.tm-page-content p.hero-badge,.tm-page-content p.tag,.tm-page-content p.stat-value,.tm-page-content p.eco-title,.tm-page-content p.quote-source{margin:0}.tm-page-content .stat-value{font-family:var(--serif);font-size:2.2rem;font-weight:400;display:block}.tm-page-content .stat>p:not(.stat-value){font-size:.73rem;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin:0}.tm-page-content .eco-title{display:block;font-family:var(--serif);font-size:1.7rem;margin:8px 0}.tm-page-content .gallery-strip>figure{margin:0}.tm-page-content .gallery-strip>figure img{height:520px;object-fit:cover}.tm-page-content .gallery-strip>figure:nth-child(2){margin-top:52px}.tm-page-content .gallery-strip>figure:nth-child(2) img{height:468px}.tm-page-content .masonry figure{break-inside:avoid;margin:0 0 12px}.tm-page-content .quote-source{color:#e9a3bd;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em}.tm-page-content .contact-panel p.big{margin:10px 0 30px}.tm-page-content .contact-panel p.big a{font-family:var(--serif);font-size:2rem;color:var(--rose)}.tm-page-content .photo>.wp-block-image{margin:0}.tm-page-content .photo .tag{position:absolute;left:16px;bottom:16px;background:rgba(255,253,250,.92);padding:8px 12px;border-radius:99px;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;z-index:2}.tm-page-content .card>.link{margin-top:auto}.tm-page-content .card>.link a{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:600}.tm-page-content .eco>p:last-child a{font-size:.73rem;text-transform:uppercase;letter-spacing:.11em;color:var(--rose)}
@media(max-width:980px){.tm-page-content .gallery-strip>figure img{height:380px}.tm-page-content .gallery-strip>figure:nth-child(2) img{height:340px}}
@media(max-width:640px){.tm-page-content .gallery-strip>figure img{height:340px}.tm-page-content .gallery-strip>figure:nth-child(2){margin-top:40px}.tm-page-content .gallery-strip>figure:nth-child(2) img{height:300px}.tm-page-content .gallery-strip>figure:nth-child(3){display:none}}
