
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--paper:#f4f0e9;--ink:#20201e;--wine:#743d49;--wine-dark:#4b2630;--sand:#ddd2c5;--muted:#77716b;--line:rgba(32,32,30,.18);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:99;background:#fff;padding:10px}
header{position:sticky;top:0;z-index:30;background:rgba(244,240,233,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{max-width:1440px;margin:auto;padding:18px 5.2vw;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{width:228px;height:auto;display:block}.links{display:flex;gap:30px;align-items:center}.links a,.lang button{font:500 11px var(--sans);letter-spacing:.13em;text-transform:uppercase;text-decoration:none;background:none;border:0;padding:8px 0;cursor:pointer}.links a{position:relative}.links a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--wine);transition:right .25s}.links a:hover:after{right:0}.lang{display:flex;gap:10px}.lang button{color:#89827b}.lang .active{color:var(--wine);border-bottom:1px solid var(--wine)}.menu{display:none}
.container{width:min(1440px,89.6%);margin:auto}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:var(--wine)}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04;letter-spacing:-.045em;margin:0}h1{font-size:clamp(4rem,8.3vw,8.8rem)}h2{font-size:clamp(2.8rem,5.3vw,5.8rem)}h3{font-size:clamp(1.7rem,2.3vw,2.4rem)}
.hero{min-height:740px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:5.5vw;padding:78px 0 92px}.hero h1{max-width:790px;margin:27px 0 26px}.hero h1 em{color:var(--wine);font-weight:500}.hero-copy{max-width:490px;color:#5c5751;font-size:17px;line-height:1.8;margin:0 0 30px}.hero-visual{height:610px;position:relative;overflow:hidden;background:#d7c9bd}.hero-visual img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72)}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(22,18,18,.36))}.hero-stamp{position:absolute;z-index:2;right:25px;bottom:25px;width:150px;height:180px;background:var(--wine);color:var(--paper);display:flex;flex-direction:column;justify-content:space-between;padding:17px}.hero-stamp span{font-size:8px;letter-spacing:.18em}.hero-stamp b{font:500 27px/.95 var(--serif);letter-spacing:-.04em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--wine);color:white;text-decoration:none;padding:16px 23px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--wine);transition:background .25s,color .25s,transform .25s}.btn:after{content:"↗";font-size:15px}.btn:hover{background:var(--wine-dark);transform:translateY(-2px)}.btn.alt{background:transparent;color:var(--ink);border-color:var(--line)}.btn.alt:hover{background:var(--ink);color:white}
.intro{padding:115px 0 130px;border-top:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.intro h2{max-width:620px;margin-top:26px}.lead{font:clamp(1.45rem,2.1vw,2rem)/1.45 var(--serif);max-width:650px;margin:0}.section{padding:115px 0;border-top:1px solid var(--line)}.section>h2{max-width:900px;margin-top:25px}
.image-story{display:grid;grid-template-columns:1.05fr .95fr;min-height:490px;background:#e5ddd3}.image-story-photo{min-height:490px;overflow:hidden}.image-story-photo img{width:100%;height:100%;min-height:490px;object-fit:cover;display:block;filter:saturate(.72)}.image-story-copy{padding:8vw 8vw 7vw;display:flex;flex-direction:column;justify-content:center}.image-story-copy h2{margin:25px 0;font-size:clamp(2.8rem,4.8vw,5.2rem)}.image-story-copy p{max-width:390px;color:#5f5952}
.services{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid var(--ink)}.service{display:block;min-height:245px;padding:27px 24px 30px 0;margin-right:22px;border-bottom:1px solid var(--line);text-decoration:none;transition:color .25s,transform .25s}.service:hover{color:var(--wine);transform:translateY(-4px)}.service .n{font-size:10px;letter-spacing:.16em;color:var(--wine)}.service h3{font-size:clamp(1.5rem,2vw,2.15rem);margin:26px 0 13px}.service p{font-size:13px;color:var(--muted);max-width:260px}
.quote{background:var(--wine-dark);color:var(--paper);padding:10vw 0}.quote .eyebrow{color:#d7c5bd}.quote h2{max-width:1050px;margin-top:35px;font-size:clamp(3rem,6.5vw,7rem)}
.founder{background:#e5ddd3}.founder .section{border:0;padding:115px 0}.portrait{height:620px;overflow:hidden;background:#d2c4b9}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}.founder h2{font-size:clamp(2.6rem,4.4vw,4.8rem);margin:25px 0}.founder .lead{font-size:1.5rem;color:var(--wine);margin-bottom:25px}.founder p:not(.lead){max-width:540px;color:#5b554f}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:50px}.card{padding:29px 25px 32px;border:1px solid var(--line);background:rgba(255,255,255,.28);display:flex;flex-direction:column;min-height:330px;transition:background .25s,transform .25s}.card:hover{background:#fff;transform:translateY(-5px)}.card h3{font-size:25px;min-height:78px}.price{font:36px var(--serif);color:var(--wine);margin:26px 0 12px}.card p{font-size:13px;color:var(--muted)}.card a:not(.btn){margin-top:auto;font-size:11px;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;color:var(--wine)}
.cta{padding:110px 0;background:#242321;color:#f4f0e9}.cta h2{max-width:950px;margin:25px 0 35px}.cta .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}
footer{background:#242321;color:var(--paper);padding:48px 0}.footer-logo{width:210px;filter:brightness(0) invert(1)}footer .container{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap}footer a{color:inherit;text-decoration:none;margin:0 0 0 18px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}footer small{font-size:11px;color:#c4bbb2}
.page-hero{padding:95px 0 90px;max-width:1050px}.page-hero h1{font-size:clamp(3.8rem,7vw,7.4rem);margin:25px 0}.page-hero p{font:clamp(1.35rem,2vw,1.8rem)/1.5 var(--serif);max-width:690px;color:#5e5852}.breadcrumb{font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:28px;color:#827a72}
.detail{display:grid;grid-template-columns:300px 1fr;gap:6vw;padding:60px 0;border-top:1px solid var(--line)}.detail h2{font-size:clamp(2.3rem,4vw,4rem)}.detail h3{font-size:25px;margin:32px 0 15px}.detail ul{padding-left:20px}.detail li{padding:5px 0}.notice{background:#eee5dc;border-left:2px solid var(--wine);padding:18px 22px;margin:25px 0;font-size:13px}
.form{max-width:780px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.form label{font-size:11px;letter-spacing:.04em}.form input,.form select,.form textarea{display:block;width:100%;border:0;border-bottom:1px solid #a79d93;background:transparent;padding:13px 2px;margin-top:5px;font:15px var(--sans);outline:none}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--wine)}.form textarea,.form .full{grid-column:1/-1}.form button{width:max-content}.small{font-size:12px;color:var(--muted)}.legal{max-width:900px}.legal h2{font-size:35px;margin:48px 0 15px}.legal h3{font-size:23px;margin:28px 0 10px}.method{counter-reset:method}.method p{padding:0 0 28px;border-bottom:1px solid var(--line)}.method p:before{counter-increment:method;content:'0' counter(method);font-size:10px;letter-spacing:.15em;color:var(--wine);margin-right:20px}
@media(max-width:1000px){.hero{min-height:unset;grid-template-columns:1fr 1fr;gap:4vw;padding:65px 0}.hero-visual{height:500px}.services,.cards{grid-template-columns:repeat(2,1fr)}.portrait{height:520px}.links{gap:17px}}
@media(max-width:720px){.nav{padding:14px 5.2vw}.logo{width:185px}.links{display:none;position:absolute;top:100%;left:0;right:0;padding:25px 6vw;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:12px}.links.open{display:flex}.menu{display:block;background:none;border:0;font:700 10px var(--sans);letter-spacing:.15em}.lang{margin-left:auto}.container{width:88%}.hero{display:flex;flex-direction:column;align-items:stretch;padding:55px 0 65px;gap:35px}.hero h1{font-size:clamp(3.6rem,15vw,6rem)}.hero-copy{font-size:15px}.hero-visual{height:430px}.hero-stamp{width:125px;height:150px}.intro,.section{padding:75px 0}.split{grid-template-columns:1fr;gap:35px}.intro h2{font-size:3.3rem}.image-story{grid-template-columns:1fr}.image-story-photo,.image-story-photo img{min-height:330px;height:330px}.image-story-copy{padding:65px 7vw}.image-story-copy h2{font-size:3.5rem}.services,.cards{grid-template-columns:1fr}.service{min-height:unset;padding:24px 0}.card{min-height:unset}.card h3{min-height:unset}.quote{padding:85px 0}.quote h2{font-size:3.4rem}.founder .section{padding:75px 0}.portrait{height:480px}.founder h2{font-size:3rem}.page-hero{padding:65px 0}.page-hero h1{font-size:3.8rem}.detail{grid-template-columns:1fr;gap:20px;padding:40px 0}.form{grid-template-columns:1fr}.form label,.form textarea,.form .full{grid-column:1}.cta{padding:75px 0}.cta h2{font-size:3.4rem}footer .container{align-items:flex-start;flex-direction:column}footer a{display:inline-block;margin:12px 12px 0 0}}

/* SIGNAL & STORY — refined dark navigation and detailed editorial footer */
:root{--chrome:#090d0e;--chrome-line:rgba(255,255,255,.13);--accent:#b7e65a;--accent-ink:#17200b}
header{background:rgba(8,12,13,.97);border-bottom:1px solid var(--chrome-line);backdrop-filter:blur(18px);color:#f5f5f0}
.nav{max-width:1540px;min-height:92px;padding:14px 5.2vw;gap:24px}
.brand-lockup{display:flex;align-items:center;gap:13px;text-decoration:none;min-width:270px}
.brand-lockup .logo{width:34px;height:42px;object-fit:contain}
.brand-words{display:flex;flex-direction:column;gap:3px;line-height:1}
.brand-words strong{font:700 19px/1.1 var(--sans);letter-spacing:.055em;color:#fff}
.brand-words strong i{font-style:normal;color:var(--accent)}
.brand-words small{font:500 9px/1.3 var(--sans);letter-spacing:.19em;color:#aeb7b3}
.links{gap:clamp(13px,1.8vw,29px)}
.links a{font:500 13px var(--sans);letter-spacing:0;text-transform:none;color:#c7cdca}
.links a:after{background:var(--accent)}
.links a:hover{color:#fff}
.nav-actions{display:flex;align-items:center;gap:15px}
.lang{gap:3px;padding:4px;border:1px solid rgba(255,255,255,.14);border-radius:12px}
.lang button{font:600 10px var(--sans);letter-spacing:.04em;padding:7px 9px;border-radius:8px;color:#aab2ae}
.lang .active{background:#202829;color:var(--accent);border:0}
.nav-cta{display:inline-flex;align-items:center;gap:15px;padding:17px 22px;border-radius:13px;background:var(--accent);color:#10150a;text-decoration:none;font:700 12px var(--sans);white-space:nowrap;transition:transform .2s,background .2s}
.nav-cta:hover{background:#c9f27a;transform:translateY(-2px)}
.nav-cta span{font-size:16px}
.menu{color:#fff}
footer{padding:0;background:#080c0d;color:#f4f5f0;border-top:1px solid var(--chrome-line)}
.footer-main{padding:70px 0 58px}
.footer-grid{width:min(1460px,89.6%);margin:auto;display:grid;grid-template-columns:1.35fr .85fr 1.1fr .95fr;gap:clamp(28px,4vw,76px);align-items:start}
.footer-lockup{min-width:0;margin-bottom:24px}
.footer-lockup .logo{width:34px;height:42px;filter:none}
.footer-lockup .brand-words strong{font-size:18px}
.footer-brand p{max-width:365px;margin:23px 0 22px;color:#c0c8c4;font-size:14px;line-height:1.8}
.footer-location{font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--accent)}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-column h3{font:700 12px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#aeb8b3;margin:3px 0 13px}
.footer-column a,.footer-column span{font:400 13px/1.6 var(--sans);letter-spacing:0;text-transform:none;color:#e2e7e3;text-decoration:none;margin:0;overflow-wrap:anywhere}
.footer-column a:hover{color:var(--accent)}
.footer-column .legal-name{font:600 15px/1.5 var(--sans);color:#fff;overflow-wrap:anywhere}
.footer-bottom{width:min(1460px,89.6%);margin:auto;border-top:1px solid var(--chrome-line);padding:22px 0;display:flex;justify-content:space-between;gap:20px;color:#8e9b95;font-size:11px;letter-spacing:.025em}
.footer-dot{color:var(--accent);font-size:8px;padding:0 9px}
@media(max-width:1180px){.nav{gap:14px}.brand-lockup{min-width:210px}.brand-words strong{font-size:17px}.links{gap:13px}.links a{font-size:12px}.nav-cta{padding:14px 15px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr;}.footer-column:last-child{grid-column:2/4}}
@media(max-width:820px){.nav{min-height:76px;padding:12px 5.2vw}.brand-lockup{min-width:0}.brand-lockup .logo{width:29px;height:36px}.brand-words strong{font-size:16px}.brand-words small{font-size:7px}.nav-actions{gap:8px}.nav-cta{display:none}.links{display:none;position:absolute;top:100%;left:0;right:0;padding:22px 6vw 27px;background:#090d0e;border-bottom:1px solid var(--chrome-line);flex-direction:column;align-items:flex-start;gap:15px}.links.open{display:flex}.links a{font-size:15px}.menu{display:block;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:10px 12px}.footer-grid{grid-template-columns:1fr 1fr;gap:38px 28px}.footer-column:last-child{grid-column:auto}}
@media(max-width:520px){.brand-words strong{font-size:14px}.brand-words small{font-size:6px;letter-spacing:.13em}.nav{gap:8px}.lang button{padding:6px 7px}.footer-main{padding:48px 0 38px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-column:last-child{grid-column:auto}.footer-bottom{flex-direction:column;padding:18px 0;gap:8px}}

/* Inline logo mark: no external image path, so it cannot break after ZIP extraction. */
.logo-mark{display:block;width:34px;height:42px;flex:0 0 auto;overflow:visible}.footer-lockup .logo-mark{width:34px;height:42px}@media(max-width:820px){.brand-lockup .logo-mark{width:29px;height:36px}}

/* SIGNAL & STORY S&S lettermark; not an A-shaped symbol. */
.logo-mark{width:42px;height:42px;flex:0 0 auto;display:block}.footer-lockup .logo-mark{width:42px;height:42px}@media(max-width:820px){.brand-lockup .logo-mark{width:36px;height:36px}}
