@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-500.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("assets/fonts/playfair-500.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("assets/fonts/playfair-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
:root{--ink:#142127;--muted:#526169;--paper:#f5f6f4;--white:#fff;--line:#dce2df;--accent:#d68b6b;--blue:#315a66;--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-family:var(--sans)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #3285a0;outline-offset:4px}
.skip-link{position:absolute;left:16px;top:-100px;z-index:100;padding:12px;background:#fff}
.skip-link:focus{top:10px}
.site-header{height:82px;padding:0 max(4vw,24px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}
.brand{font-size:1.7rem;font-weight:700;line-height:1}
.brand span,.footer-main strong span{color:var(--accent)}
.site-header nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,42px);font-size:.86rem;font-weight:700}
.site-header nav a:hover,.header-contact:hover,.text-link:hover,.all-books:hover{text-decoration:underline;text-underline-offset:5px}
.header-contact{font-size:.86rem;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:5px;white-space:nowrap}
.header-contact span{padding-left:18px}
.hero{position:relative;isolation:isolate;min-height:700px;height:min(82svh,820px);overflow:hidden;background:#142127;color:#fff;display:flex;align-items:center;padding:80px max(4vw,24px) 98px}
.hero-portrait{position:absolute;right:4%;top:0;width:min(60vw,900px);height:100%;object-fit:cover;object-position:center 22%;opacity:.82;filter:saturate(.7);mask-image:linear-gradient(to right,transparent 0%,#000 29%)}
.hero-inner{position:relative;z-index:2;width:min(100%,1280px);margin:0 auto}
.eyebrow,.small-cap{font-size:.78rem;text-transform:uppercase;font-weight:700;color:var(--accent)}
.hero-kicker{margin:0 0 30px}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:0;line-height:1.06}
h1{font-size:clamp(3.7rem,6.2vw,7rem);max-width:10.5ch;margin-bottom:30px}
h1 em,h2 em{font-weight:500}
.hero h1 em{color:#f0b89e}
.hero-lead{max-width:530px;font-size:1.14rem;line-height:1.55;color:#e4e9e8}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px;border:1px solid transparent;padding:0 20px;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px)}
.button-light{background:#fff;color:var(--ink)}
.button-light:hover{background:#ebf1ee}
.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:#2a4449}
.text-link{font-size:.92rem;font-weight:700}
.on-dark{color:#fff}
.hero-scroll{position:absolute;left:max(4vw,24px);bottom:34px;z-index:2;font-size:.78rem;font-weight:700;color:#d8e1df}
.hero-scroll span{padding-left:16px}
.section-shell{padding:94px max(4vw,24px);display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,4fr);gap:40px}
.section-label{font-size:.77rem;text-transform:uppercase;font-weight:700;padding-top:11px;white-space:nowrap}
.section-label span{color:#ad6e53;margin-right:8px}
.section-body{max-width:1180px;width:100%}
h2{font-size:clamp(2.8rem,4.4vw,5.5rem);max-width:16ch;margin-bottom:36px}
h2 em{color:#b86d50}
.intro{background:#fff}
.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:6vw}
.intro-columns p,.section-heading-row p,.contact-body>div>p{font-size:1.08rem;line-height:1.65;color:var(--muted)}
.intro-columns a,.experience-note a{text-decoration:underline;text-underline-offset:4px}
.work{background:var(--paper)}
.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:45px}
.section-heading-row h2{margin:0}
.section-heading-row>p{max-width:330px;margin:0 0 5px}
.work-list{border-top:1px solid var(--line)}
.work-item{display:grid;grid-template-columns:60px 1fr 45px;gap:30px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}
.work-num{font-size:.83rem;font-weight:700;color:#a76d57;margin-top:7px}
.work-item h3{font-family:var(--serif);font-size:2rem;font-weight:500;margin:0 0 10px}
.work-item p{max-width:740px;color:var(--muted);line-height:1.55;margin:0}
.work-item>a{font-size:1.5rem;line-height:1;justify-self:end}
.work-tag{justify-self:end;font-size:.78rem;font-weight:700;color:var(--blue);padding-top:8px}
.journey{background:#e6ece8}
.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #bfcfca;border-bottom:1px solid #bfcfca}
.journey-grid article{padding:26px 22px 26px 0;border-right:1px solid #bfcfca;margin-right:22px}
.journey-grid article:last-child{border:0;margin-right:0}
.journey-grid span{font-size:.78rem;font-weight:700;color:#a9654e}
.journey-grid h3{font-family:var(--serif);font-weight:500;font-size:1.55rem;line-height:1.16;margin:28px 0 12px}
.journey-grid p{font-size:.9rem;line-height:1.55;color:var(--muted);margin:0}
.experience-note{max-width:850px;margin:28px 0 0;color:var(--muted);line-height:1.6;font-size:.9rem}
.books{background:#1e3034;color:#fff}
.books .section-label{color:#fff}
.books h2 em{color:#f0b89e}
.small-cap{margin:0 0 18px}
.books-heading .small-cap{color:#f0b89e;max-width:none}
.books-heading>p{color:#b9cbca}
.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 24px}
.book{min-width:0;border-top:1px solid #466064;padding-top:22px}
.book-cover{height:290px;display:flex;align-items:center;justify-content:center;background:#293c41;padding:14px;overflow:hidden}
.book-cover img{height:100%;max-width:100%;width:auto;object-fit:contain;box-shadow:0 14px 25px rgba(0,0,0,.25);transition:transform .2s ease}
.book-cover:hover img{transform:scale(1.025)}
.book-copy{padding:19px 3px 0}
.book-category{font-size:.72rem;text-transform:uppercase;color:#f0b89e;font-weight:700;margin-bottom:12px}
.book h3{font-family:var(--serif);font-size:1.65rem;line-height:1.2;font-weight:500;margin-bottom:12px}
.book-copy>p:not(.book-category){color:#b9cbca;font-size:.92rem;line-height:1.57;margin-bottom:15px}
.book-copy>a{font-size:.83rem;font-weight:700;border-bottom:1px solid #f0b89e;padding-bottom:5px}
.all-books{display:inline-flex;gap:20px;margin-top:48px;font-weight:700;font-size:.9rem;border-bottom:1px solid #f0b89e;padding-bottom:10px}
.contact{background:#fff}
.contact-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:7vw}
.contact-body h2{font-size:clamp(2.8rem,4vw,4.8rem)}
.contact-email{display:inline-block;margin-top:25px;border-bottom:1px solid currentColor;padding-bottom:7px;font-weight:700;overflow-wrap:anywhere}
.contact-form{display:grid;gap:17px}
.contact-form label{display:grid;gap:8px;font-size:.84rem;font-weight:700}
.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;padding:14px 12px;border:1px solid #cbd4d1;background:#fff;color:var(--ink);border-radius:2px}
.contact-form textarea{resize:vertical}
.contact-form .privacy{display:flex;gap:12px;font-size:.75rem;font-weight:500;line-height:1.5}
.contact-form .privacy input{width:18px;height:18px;flex:none;margin:0}
.privacy a{text-decoration:underline}
.contact-form button{justify-self:start}
.form-status{padding:12px;border:1px solid var(--line);color:var(--ink);font-size:.88rem}
.form-status[data-status="success"]{background:#e8f5ed}
.form-status[data-status="error"]{background:#fbe9e7}
.captcha-check{padding:12px;background:#f3f6f4}
.trap{position:absolute;left:-9999px}
.site-footer{display:grid;grid-template-columns:1fr auto;gap:45px;padding:50px max(4vw,24px);background:#142127;color:#fff}
.footer-projects{grid-column:1/-1;padding-bottom:50px;border-bottom:1px solid #3c5054}
.footer-projects-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px}
.footer-projects-head p{margin:0;color:#f0b89e;font-size:.77rem;font-weight:700;text-transform:uppercase}
.footer-projects-head h2{margin:0;font-family:var(--serif);font-size:2rem;max-width:none}
.footer-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;padding:12px 0;border-top:1px solid #3c5054;border-bottom:1px solid #3c5054}
.footer-project{min-width:0;min-height:104px;padding:18px 14px 18px 0;display:flex;align-items:center;gap:14px;transition:background .2s ease}
.footer-project:hover{background:#20373b}
.footer-project img{width:70px;height:58px;object-fit:contain;flex:none}
.footer-project .footer-project-name{font-size:.88rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.footer-project-label{min-width:0;display:flex;flex:1;flex-direction:column;gap:4px}
.footer-project-role{color:#abc3c3;font-size:.75rem;line-height:1.25}
.footer-project .footer-project-arrow{font-size:1.05rem;color:#f0b89e;margin-left:auto;align-self:flex-start}
.footer-project-mark{width:52px;height:52px;flex:none;display:grid;place-items:center;border:1px solid #7b9698;color:#fff;font-weight:700;font-size:1.05rem;letter-spacing:0}
.footer-project-wordmark{font-weight:700;font-size:1.12rem;letter-spacing:0;line-height:1.2}
.footer-project--doribene img{width:74px;height:68px}
.footer-project--venezia img{width:94px;height:58px}
.footer-project--sharm img{width:94px;height:58px}
.footer-project--food img{width:100px;height:52px}
.footer-project--nlove img{width:86px;height:52px;padding:10px;background:#fff}
.footer-main strong{font-family:var(--serif);font-size:2.3rem;font-weight:500}
.footer-main p{margin:9px 0 0;color:#bbceca}
.footer-links{display:flex;gap:24px;flex-wrap:wrap;font-size:.85rem;font-weight:700}
.site-footer small{grid-column:1/-1;color:#90aaa6}
.policy-main{padding:80px max(4vw,24px);max-width:1120px;margin:auto}
.policy-main h1{font-size:3.6rem}
.policy-main article{padding:25px 0;border-bottom:1px solid var(--line)}
.policy-main h2{font-size:2.2rem}
.policy-main p{line-height:1.6;color:var(--muted)}
.policy-main a{text-decoration:underline}
.policy-main{max-width:960px;min-height:60vh}
.policy-main .eyebrow{margin-bottom:18px}
.policy-main h1{max-width:none;margin-bottom:25px}
.policy-intro{max-width:690px;font-size:1.1rem;line-height:1.6;color:var(--muted)}
.policy-main article{max-width:760px}
.policy-main article h2{font-size:1.7rem;margin-bottom:15px;max-width:none}
.policy-main article p:last-child{margin-bottom:0}
.policy-main ul{padding-left:22px;color:var(--muted);line-height:1.7}
.policy-main li+li{margin-top:8px}
.policy-date{font-size:.85rem;color:var(--muted)}
.policy-footer-links{display:flex;gap:20px;align-items:start;flex-wrap:wrap}
.cookie-notice{position:fixed;z-index:50;left:24px;bottom:24px;width:min(520px,calc(100vw - 48px));padding:22px 24px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 16px 42px #14212730;display:grid;gap:14px}
.cookie-notice[hidden]{display:none}
.cookie-notice strong{font-size:1rem}
.cookie-notice p{font-size:.9rem;line-height:1.55;color:var(--muted);margin:0}
.cookie-notice-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.cookie-notice a{font-size:.84rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cookie-notice button{border:0;background:var(--ink);color:#fff;padding:11px 18px;font-weight:700;cursor:pointer}
.cookie-notice button:hover{background:#2a4449}
.footer-cookie-button{border:0;background:none;color:inherit;padding:0;font-weight:700;font-size:.85rem;cursor:pointer;text-align:left}
.footer-cookie-button:hover{text-decoration:underline}
@media(max-width:700px){.cookie-notice{left:12px;bottom:12px;width:calc(100vw - 24px);padding:18px}.policy-main h1{font-size:2.8rem}.policy-main article h2{font-size:1.45rem}}
@media(max-width:1000px){.section-shell{grid-template-columns:1fr;gap:25px}.section-label{padding:0}.journey-grid{grid-template-columns:repeat(2,1fr)}.journey-grid article:nth-child(2){border:0}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-portrait{right:0;width:70%;opacity:.62}}
@media(max-width:1000px){.footer-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.site-header{height:68px;padding:0 20px}.site-header nav{gap:16px;font-size:.78rem}.site-header nav a:nth-child(2){display:none}.header-contact{display:none}.hero{height:auto;min-height:720px;padding:120px 20px 100px;align-items:end}.hero-portrait{width:100%;right:0;height:100%;object-position:center top;opacity:.32;mask-image:none}.hero-inner{margin:0}.hero h1{font-size:3.5rem;max-width:10ch}.hero-lead{font-size:1rem}.hero-scroll{left:20px}.section-shell{padding:72px 20px}.section-heading-row{display:block}.section-heading-row>p{margin-top:22px}.intro-columns,.contact-body{grid-template-columns:1fr;gap:15px}.journey-grid{grid-template-columns:1fr}.journey-grid article,.journey-grid article:nth-child(2){border-right:0;border-bottom:1px solid #bfcfca;margin:0;padding-right:0}.journey-grid article:last-child{border-bottom:0}.book-grid{grid-template-columns:1fr;gap:45px}.book-cover{height:340px}.work-item{grid-template-columns:35px 1fr 22px;gap:10px}.work-item h3{font-size:1.6rem}.work-tag{font-size:.65rem;writing-mode:vertical-rl}.site-footer{grid-template-columns:1fr}.site-footer small{grid-column:1}.footer-links{gap:16px}.policy-main{padding:55px 20px}}
@media(max-width:700px){.footer-projects{padding-bottom:30px}.footer-projects-head{display:block}.footer-projects-head h2{font-size:1.8rem;margin-top:8px}.footer-project{min-height:102px;padding:15px 6px 15px 0;gap:8px;flex-wrap:wrap;align-content:center}.footer-project img{width:52px;height:42px}.footer-project--doribene img,.footer-project--venezia img,.footer-project--sharm img{width:70px;height:46px}.footer-project .footer-project-name{font-size:.78rem;flex:1 1 80px}.footer-project .footer-project-arrow{display:none}.footer-project-mark{width:44px;height:44px;font-size:.9rem}.footer-project-wordmark{font-size:.96rem}}
@media(max-width:700px){.footer-project--food,.footer-project--nlove{flex-wrap:nowrap}.footer-project--food img,.footer-project--nlove img{width:64px;height:46px}.footer-project--nlove img{padding:7px}.footer-project-label{align-self:center}.footer-project-label .footer-project-name{flex:none}.footer-project-role{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.book-cover img{transition:none}}
