/* --- fonts/fonts.css --- */
/* Self-hosted fonts: no requests to Google. Generated by src/self-host-fonts.py. */
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/DMSans-normal-latin-ext-a5d38fe9.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/DMSans-normal-latin-9fea608a.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/DMSans-normal-latin-ext-a5d38fe9.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/DMSans-normal-latin-9fea608a.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/DMSans-normal-latin-ext-a5d38fe9.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/DMSans-normal-latin-9fea608a.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/InstrumentSerif-italic-latin-ext-d0014821.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/InstrumentSerif-italic-latin-5a51946d.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/InstrumentSerif-normal-latin-ext-290e6267.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/InstrumentSerif-normal-latin-5eb09b5a.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/NotoSerifJP-normal-jp-a72977a8.woff2) format('woff2');
  unicode-range: U+304d-304e, U+3099, U+4f59, U+50cd, U+5148, U+5171, U+5275, U+5354, U+5584, U+5834, U+5b9f, U+5bdf, U+5bfe, U+5c0e, U+5e2b, U+6210, U+6226, U+6307, U+6539, U+65c5, U+751f, U+7565, U+767d, U+7d99, U+89b3, U+8a71, U+8df5, U+9053, U+91d1, U+9577, U+9593, U+ff0b, U+ff0f;
}

/* --- trust.css --- */
/* themed, thin scrollbar: orange thumb (active), brown track */
html{scrollbar-width:thin;scrollbar-color:#ec6607 #30231b}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:#30231b}
::-webkit-scrollbar-thumb{background:#ec6607;border-radius:8px;border:2px solid #30231b}
/* trust layer: footer, legal pages, direct contact */
.trust-foot{margin-top:22px;padding-top:18px;border-top:1px solid rgba(243,240,232,.18);display:grid;gap:10px;font-size:14px;line-height:1.6;color:rgba(243,240,232,.82)}
.trust-foot a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.trust-foot a:hover{color:#fff}
.trust-contact{margin:0;font-size:15px}
.foot-cookieless{display:flex;gap:12px;align-items:flex-start;max-width:720px}
.foot-cookieless p{margin:0}
.foot-cookieless b{color:#f3f0e8;font-weight:600}
.ic-nocookie{width:26px;height:26px;flex:none;fill:currentColor;margin-top:1px}
.trust-links{margin:0;font-size:13px;opacity:.85}
.home-offices .trust-foot{max-width:900px;margin-left:auto;margin-right:auto;justify-items:center}
.home-offices .foot-cookieless{text-align:left}
.legal-body h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(28px,3.2vw,40px);line-height:1.15;margin:0 0 18px}
.legal-body p{max-width:760px;font-size:17px;line-height:1.75}
.legal-body a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.request-next{margin-top:18px;max-width:760px}
.request-next p{font-size:16px;line-height:1.7}
.request-next .copy-request{margin-top:10px}
/* who you work with (service pages) */
.trust-coach{display:flex;gap:16px;align-items:flex-start;margin-top:28px;padding-top:22px;border-top:1px solid rgba(243,240,232,.2);max-width:640px}
.trust-coach img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}
.trust-coach p{margin:0;font-size:15px;line-height:1.65}
.trust-coach a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.ai-photo-note{font-size:13px;opacity:.8;margin-top:6px}
.ai-photo-note a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
/* mobile: the hero kanji no longer sits on the title; tab labels never get cut off */
@media(max-width:800px){
 .lp-symbol{opacity:.07!important}
 .lp-symbol>span{font-size:4.5rem!important}
 .lp-tablist{flex-direction:column!important;flex-wrap:nowrap!important;overflow:visible!important;gap:0!important}
 .lp-tablist button{max-width:none!important;min-width:0!important;flex:none!important;white-space:normal!important;padding:12px 0!important}
}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
#request-result pre,#retreat-application-result pre{white-space:pre-wrap;font:inherit;font-size:15px;line-height:1.6;background:rgba(0,0,0,.2);padding:16px;border-radius:10px;max-width:760px}
/* payments: offer, outcome, owner offer builder */
.pay-box{max-width:820px}
.pay-meta,.pay-note{font-size:15px;opacity:.85}
.pay-table{width:100%;border-collapse:collapse;margin:18px 0;font-size:16px}
.pay-table th{text-align:left;font-weight:500;font-size:13px;opacity:.75;border-bottom:1px solid rgba(243,240,232,.25);padding:8px 10px 8px 0}
.pay-table td{border-bottom:1px solid rgba(243,240,232,.14);padding:12px 10px 12px 0;vertical-align:top}
.pay-table td:not(:first-child),.pay-table th:not(:first-child){text-align:right;white-space:nowrap}
.pay-desc{display:block;font-size:14px;opacity:.8;margin-top:3px}
.pay-total{font-size:19px;font-weight:600;margin:10px 0}
.pay-admin .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pay-admin label{display:grid;gap:6px;font-size:14px}
.pay-admin .full{grid-column:1/-1}
.pay-admin input,.pay-admin select,.pay-admin textarea{font:inherit;padding:10px;border-radius:8px;border:1px solid rgba(243,240,232,.3);background:rgba(0,0,0,.25);color:inherit}
.pay-item{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid rgba(243,240,232,.2);border-radius:12px;padding:14px;margin:0 0 12px}
.pay-item .text-link{justify-self:start;background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;padding:0}
.pay-link{width:100%;font:inherit;padding:10px;border-radius:8px;margin:8px 0}
@media(max-width:700px){.pay-admin .form-grid,.pay-item{grid-template-columns:1fr}.pay-table{font-size:15px}}

/* --- shell.css --- */
/* The shared header and footer (src/shell/*.html): identical on every page. */
.dp-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.dp-header{position:sticky;top:0;z-index:1000;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:clamp(14px,2vw,30px);height:84px;padding:0 clamp(20px,4vw,60px);background:transparent;border-bottom:0;box-shadow:none;color:#f2eadc;font-family:'DM Sans',sans-serif}
.ink-home .dp-header{position:fixed;left:0;right:0;top:0}
.dp-brand{display:flex;align-items:center;gap:14px;flex:none;color:#f2eadc;text-decoration:none}
.dp-brand .brand-logo{display:block;height:52px;width:auto;overflow:visible}
.dp-payoff{display:flex;flex-direction:column;justify-content:space-between;height:52px;padding:1px 0;box-sizing:border-box;font-family:'Instrument Serif',Georgia,serif;font-size:18.5px;line-height:.95;white-space:nowrap;letter-spacing:.005em}
.dp-payoff>*{display:block}
.dp-payoff em{font-style:normal;color:#ec6607}
.dp-nav{display:flex;align-items:center;gap:clamp(14px,2vw,28px);margin-left:auto}
.dp-nav a{display:flex;align-items:center;gap:8px;color:#f2eadc;text-decoration:none;font-size:14px;white-space:nowrap}
.dp-nav a:hover,.dp-nav a[aria-current]{color:#ec6607}
.dp-nav .origami,.dp-menu-btn .origami{width:22px;height:22px;flex:none}
.dp-cta{color:#ec6607;text-decoration:none;font-size:14px;white-space:nowrap;border-bottom:1px solid currentColor;padding:6px 0}
.dp-cta:hover{color:#fff}
.dp-lang select{-webkit-appearance:none;appearance:none;min-height:40px;padding:8px 26px 8px 10px;border:1px solid rgba(242,234,220,.35);border-radius:0;color:#f2eadc;font:14px 'DM Sans',sans-serif;cursor:pointer;
 background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23f2eadc' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 9px center/10px 6px}
.dp-lang option{color:#20291f}
.dp-menu-btn{display:flex;align-items:center;gap:10px;min-height:44px;padding:0;background:none;border:0;color:#f2eadc;font:14px 'DM Sans',sans-serif;cursor:pointer}
.dp-menu-btn:hover{color:#ec6607}
@media (max-width:1150px){.dp-nav{display:none}.dp-cta{margin-left:auto}}
@media (max-width:760px){
 .dp-header{height:72px;gap:10px;padding:0 16px}
 .dp-brand{gap:10px}
 .dp-brand .brand-logo{height:44px}
 .dp-payoff{height:44px;font-size:15.5px}
 .dp-cta{display:none}
 .dp-lang{margin-left:auto}
 .dp-lang select{min-height:36px;padding:6px 22px 6px 8px;background-position:right 7px center}
}
@media (max-width:350px){.dp-payoff{display:none}}

.dp-footer{display:block!important;visibility:visible!important;height:auto!important;position:relative;z-index:5;box-sizing:border-box;width:100%;padding:44px clamp(20px,4vw,60px) 32px;background:#1c1510;border-top:1px solid rgba(230,215,186,.15);color:rgba(242,234,220,.85);font:14px/1.6 'DM Sans',sans-serif}
.dp-footer-in{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.2fr);gap:20px 48px;align-items:start}
.dp-foot-info p{margin:0 0 3px}
.dp-foot-cookie{display:flex;gap:10px;align-items:flex-start}
.dp-foot-cookie p{margin:0}
.dp-footer a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.dp-footer a:hover{color:#fff}
.dp-footer .dp-brand{text-decoration:none;color:#f2eadc}
.dp-foot-legal{grid-column:1/-1;margin:6px 0 0;padding-top:14px;border-top:1px solid rgba(242,234,220,.15);font-size:13px}
.dp-footer .ic-nocookie{width:22px;height:22px;flex:none;fill:currentColor;margin-top:2px}
@media (max-width:900px){.dp-footer-in{grid-template-columns:1fr;gap:14px}}
@media (max-width:760px){.dp-footer{padding:28px 16px calc(22px + env(safe-area-inset-bottom,0px));font-size:12.5px;line-height:1.45}.dp-foot-legal{font-size:11.5px}}
/* home on phones: the origami chapter bar stays fixed at the bottom, keep the footer clear of it */
@media (max-width:760px){.ink-home .dp-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}}

/* --- layout-tuning.css --- */
/* Layout tuning requested by Daniele (2026-10-02). Loaded on every page by src/trust-layer.py.
   - breadcrumbs lowercase and smaller
   - text column kept within ~60% of the screen on photographic chapters, so it never meets the
     incense, the kanji or Daniele's figure
   - mobile: slightly smaller type, tighter leading on the primary texts, a left-side shade so text
     stays readable, and photos framed so Daniele sits in the free right-hand side (see layout-tuning.js) */

.breadcrumb{text-transform:lowercase;font-size:12px;letter-spacing:.03em}

/* desktop/tablet: text right edge at ~60% of the viewport */
@media(min-width:761px){
 .lp-chapter.photo :is(h1,h2,.lp-lead,.lp-statement,.breadcrumb,.lp-format){max-width:calc(60vw - 7.5vw)}
 .ink-home .scene-message>:is(h1,h2,.ink-intro,.ink-eyebrow){max-width:calc(60vw - 8vw)}
}

@media(max-width:760px){
 .breadcrumb{font-size:11px}
 /* home */
 .ink-home .ink-scene h1{font-size:44px;line-height:1}
 .ink-home .ink-scene h2{font-size:40px;line-height:1}
 .ink-intro{font-size:15px;line-height:1.45}
 .ink-eyebrow{font-size:11px}
 .ink-home .scene-message>:is(h1,h2,.ink-intro,.ink-eyebrow){max-width:calc(64vw - 20px)}
 .ink-home .stage-wash{background:linear-gradient(90deg,#231811f2 0%,#231811cc 40%,#23181166 62%,transparent 80%),linear-gradient(0deg,#281c16f2,#26271bb3 34%,transparent 62%)!important}
 /* landing pages */
 .lp-chapter h1{font-size:38px;line-height:1.02}
 .lp-chapter h2{font-size:34px;line-height:1.05}
 .lp-lead,.lp-statement{font-size:15.5px;line-height:1.45}
 .lp-chapter p{line-height:1.5}
 .lp-chapter .eyebrow{font-size:12px}
 .lp-chapter.photo :is(h1,h2,.lp-lead,.lp-statement,.breadcrumb,.lp-format){max-width:calc(64vw - 24px)}
 .stage-shade{background:linear-gradient(90deg,#231811ed 0%,#231811d1 42%,#23181166 64%,transparent 82%),linear-gradient(0deg,#211912d9,transparent 58%)!important}
 /* home photos: Daniele on the right, face in the upper half */
 .ink-home .stage-frame img[src*="coach-dojo"]{object-position:46% 30%}
 .ink-home .stage-frame img:is([src*="/assets/coach."],[src*="/assets/coach-"]):not([src*="coach-dojo"]){object-position:68% 30%}
 .ink-home .stage-frame img[src*="business-reflection"]{object-position:39% 25%}
 .ink-home .stage-frame img[src*="business-decisions"]{object-position:54% 30%}
 .ink-home .stage-frame img[src*="/assets/retreat"]{object-position:25% 40%}
 .ink-home .stage-frame img[src*="chiang-mai-coaching"]{object-position:43% 40%}
}

/* every scrollable box uses the theme scrollbar (overrides older per-component colours) */
*{scrollbar-width:thin!important;scrollbar-color:#ec6607 #30231b!important}

/* mobile footer: much smaller type and tighter leading */
@media(max-width:760px){
 .site-footer,.home-offices{font-size:12px!important;line-height:1.4!important;padding-top:28px!important;padding-bottom:28px!important}
 .site-footer :is(p,address,a,span),.home-offices :is(p,address,a,span){font-size:12px!important;line-height:1.4!important}
 .site-footer .brand{font-size:16px!important}
 .site-footer>*,.home-offices>*{margin-top:6px!important;margin-bottom:6px!important}
 .trust-foot{gap:6px!important;margin-top:14px!important;padding-top:12px!important}
 .trust-foot :is(p,a,span,b){font-size:11.5px!important;line-height:1.4!important}
 .trust-contact{font-size:12.5px!important}
 .ic-nocookie{width:20px!important;height:20px!important}
}

/* terms links inside form checkboxes must look like links */
[data-trust=terms] a{text-decoration:underline;text-underline-offset:.2em}
.legal-body p{margin:0 0 .9em}

/* mobile home: incense and kanji sit low on the right, clear of the face and of the text column;
   the secondary links go under the orange button, never beside it (requested 2026-10-02) */
@media (max-width:760px){
 .ink-home .ink-lettering{top:auto!important;bottom:calc(104px + env(safe-area-inset-bottom,0px))!important;transform:none!important}
 .ink-home .ink-actions{flex-direction:column!important;align-items:flex-start!important;gap:4px!important}
 /* the lower part of each message shares its height with the kanji: keep it left of it */
 .ink-home .scene-message>:is(.ink-actions,.price-strip,.scene-status,.consultation-note,details,p:last-child){max-width:calc(100vw - 150px)!important}
 .ink-home .ink-action{max-width:100%!important}
 .ink-home .ink-action span{white-space:normal!important}
}

/* official logo "Mr. POL. COACHING" and payoff (src/brand-layer.py) */
.brand-logo{display:block;height:52px;width:auto;flex:none;overflow:visible}
.ink-brand,.site-header .brand{gap:0!important;align-items:center!important}
.brand-name{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.payoff{font-family:'Instrument Serif',Georgia,serif!important;letter-spacing:.005em;color:inherit;margin:0}
.payoff>span,.payoff>em{display:block;white-space:nowrap}
.payoff em{font-style:normal;color:#ec6607}
/* three lines, exactly as tall as the logo beside them */
.payoff-head{display:flex!important;flex-direction:column;justify-content:space-between;height:52px;margin-left:14px;font-size:19px!important;line-height:.92!important;padding:1px 0}
.brand-foot{display:inline-block;vertical-align:top;color:inherit}
.brand-foot .brand-logo{height:72px}
.brand-foot+.payoff,.home-brand .payoff{display:inline-flex!important;flex-direction:column;justify-content:space-between;vertical-align:top;height:72px;margin:0 0 0 16px!important;font-size:26px!important;line-height:.92!important;padding:2px 0}
.home-brand{display:flex;align-items:flex-start;margin-bottom:14px}
@media (max-width:760px){
 .brand-logo{height:42px}
 .payoff-head{height:42px;margin-left:10px;font-size:15.5px!important}
 .brand-foot .brand-logo{height:58px}
 .brand-foot+.payoff,.home-brand .payoff{height:58px;font-size:21px!important}
}

/* chapters arrive and leave in depth: every element with its own random direction, rotation, depth, speed and
   delay (dist/home-nav.js draws them at each change into --dx --dy --dz --rx --ry --rz --sc --bl --du --de --ez);
   incense and smoke never move */
@keyframes dp3d-in{from{opacity:0;transform:perspective(700px) translate3d(var(--dx,0),var(--dy,40px),var(--dz,-300px)) rotateX(var(--rx,-40deg)) rotateY(var(--ry,0)) rotateZ(var(--rz,0)) scale(var(--sc,1));filter:blur(var(--bl,4px))}to{opacity:1;transform:none;filter:none}}
@keyframes dp3d-out{from{opacity:1;transform:none;filter:none}to{opacity:0;transform:perspective(700px) translate3d(var(--dx,0),var(--dy,-40px),var(--dz,-300px)) rotateX(var(--rx,40deg)) rotateY(var(--ry,0)) rotateZ(var(--rz,0)) scale(var(--sc,1));filter:blur(var(--bl,4px))}}
.dp-3d body.experience-ready .ink-scene.is-current .scene-message>*,
.dp-3d .landing-chapter.chapter-current :is(.lp-inner>*:not(.lp-hero-grid),.lp-hero-grid>*>*){animation:dp3d-in var(--du,1s) var(--ez,cubic-bezier(.16,1,.3,1)) var(--de,0s) both!important;transform-origin:var(--ox,50%) var(--oy,50%)}
.dp-3d .ink-scene.dp-leaving .scene-message{visibility:visible!important;opacity:1!important;pointer-events:none!important}
.dp-3d .ink-scene.dp-leaving .scene-message>*,
.dp-3d .landing-chapter.dp-leaving :is(.lp-inner>*:not(.lp-hero-grid),.lp-hero-grid>*>*){animation:dp3d-out var(--du,.6s) var(--ez,cubic-bezier(.5,0,.75,0)) var(--de,0s) both!important;transform-origin:var(--ox,50%) var(--oy,50%)}
.dp-3d .landing-chapter:not(.chapter-current):not(.dp-leaving) :is(.lp-inner>*:not(.lp-hero-grid),.lp-hero-grid>*>*){opacity:0}
.dp-3d .dp-lettering,.dp-3d .ink-lettering{animation:none!important}

/* home: no counters at the bottom; chapter numbers on the right, by the scrollbar, as on the other pages */
.ink-home .journey-caption,.ink-home .scene-serial{display:none!important}
.ink-home .lp-rail{position:fixed;right:1.6vw;top:50%;translate:0 -50%;display:flex;flex-direction:column;gap:12px;z-index:20;max-height:70vh;overflow-y:auto}
.ink-home .lp-rail a{width:32px;height:32px;display:flex;justify-content:center;align-items:center;color:#bb9a7b;font-size:.8125rem;text-decoration:none}
.ink-home .lp-rail a[aria-current]{color:#ec6607;border-right:2px solid #ec6607}
@media (max-width:800px){.ink-home .lp-rail{display:none}}
.legal-single~.lp-rail,body:has(.legal-single) .lp-rail{display:none!important}
/* the meaning under the home kanji: lowercase italic in the title font, not bold (Daniele 2026-10-03; hidden on phones) */
.ink-home .ink-word-meaning{text-transform:lowercase;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:.01em;font-size:1.15em}
/* on phones the labels above the section titles read in lowercase */
@media (max-width:760px){.ink-eyebrow{text-transform:lowercase;letter-spacing:.02em}}

/* --- site-menu.css --- */
/* Site menu: every page, grouped and searchable (dist/site-menu.js). */
html.dpm-open,html.dpm-open body{overflow:hidden!important}
.site-header .menu-toggle{display:flex!important}
.dpm{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;color:#f2eadc;
 background:radial-gradient(110% 70% at 88% -10%,#43301f 0%,#1d1510 48%,#140f0b 100%);
 font-family:'DM Sans',sans-serif;opacity:0;transition:opacity .32s ease}
.dpm[hidden]{display:none}
.dpm.is-open{opacity:1}
.dpm .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dpm-top{display:flex;align-items:center;gap:clamp(14px,3vw,36px);padding:16px clamp(16px,4vw,56px);border-bottom:1px solid #f2eadc1c}
.dpm-home{font-family:'Instrument Serif',Georgia,serif;font-size:38px;line-height:1;color:#f2eadc;text-decoration:none}
.dpm-home .brand-logo{height:48px}
.dpm-search{flex:1;max-width:560px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f2eadc4d;padding:8px 2px;transition:border-color .2s}
.dpm-search:focus-within{border-color:#ec6607}
.dpm-search svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;opacity:.7;flex:none}
.dpm-search input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#f2eadc;font:16px 'DM Sans',sans-serif}
.dpm-search input::placeholder{color:#f2eadc80}
.dpm-close{margin-left:auto;display:flex;align-items:center;gap:10px;background:transparent;border:0;color:#f2eadc;font:14px 'DM Sans',sans-serif;min-height:44px;cursor:pointer}
.dpm-close span{font-size:28px;line-height:1;color:#ec6607}
.dpm-count{margin:14px clamp(16px,4vw,56px) 0;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#f2eadc8c}
.dpm-count b{color:#ec6607;font-weight:600}
.dpm-body{flex:1;overflow:auto;overscroll-behavior:contain;padding:22px clamp(16px,4vw,56px) 36px;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:30px clamp(24px,3vw,48px);align-content:start}
.dpm-group{opacity:0;transform:translateY(10px);transition:opacity .45s ease calc(var(--i)*45ms),transform .45s cubic-bezier(.16,1,.3,1) calc(var(--i)*45ms)}
.dpm.is-open .dpm-group{opacity:1;transform:none}
.dpm-group[hidden]{display:none}
.dpm-group h2{margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid #ec660755;font:600 11.5px 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#ec6607}
.dpm-group ul,.dpm-group ol{list-style:none;margin:0;padding:0}
.dpm-group li[hidden]{display:none}
.dpm-group a{display:block;padding:7px 0;color:#f2eadc;text-decoration:none;font-family:'Instrument Serif',Georgia,serif;font-size:22px;line-height:1.18;transition:color .15s}
.dpm-group a small{display:block;margin-top:3px;font:13px/1.35 'DM Sans',sans-serif;color:#f2eadc99}
.dpm-group a:hover,.dpm-group a:focus-visible{color:#ec6607;outline:none}
.dpm-group a[aria-current]{color:#ec6607}
.dpm-here{margin-left:8px;font:600 10px 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;vertical-align:middle;border:1px solid currentColor;padding:2px 6px}
.dpm-articles{margin-top:6px}
.dpm-articles[hidden]{display:none}
.dpm-articles summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font-size:14px;color:#f2eadccc;list-style:none}
.dpm-articles summary::-webkit-details-marker{display:none}
.dpm-articles summary::before{content:'+';color:#ec6607;font-size:20px;width:22px}
.dpm-articles[open] summary::before{content:'−'}
.dpm-articles a{font:15px/1.35 'DM Sans',sans-serif;padding:6px 0}
.dpm-ideas{grid-row:span 2}
.dpm-none{grid-column:1/-1;font-size:16px;color:#f2eadcb3}
.dpm-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding:14px clamp(16px,4vw,56px) calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid #f2eadc1c}
.dpm-cta{background:#ec6607;color:#fff;text-decoration:none;font:600 15px 'DM Sans',sans-serif;padding:13px 20px}
.dpm-cta:hover{background:#b44b08}
.dpm-mail,.dpm-lang{color:#f2eadc;font-size:14px;text-decoration:none;border-bottom:1px solid #f2eadc55}
.dpm-lang{margin-left:auto}
.dpm-body{scrollbar-width:thin;scrollbar-color:#ec6607 #30231b}
@media (max-width:760px){
 .dpm-top{flex-wrap:wrap;padding:12px 16px;gap:8px 14px}
 .dpm-search{order:3;flex-basis:100%;max-width:none}
 .dpm-home{font-size:32px}
 .dpm-count{margin:12px 16px 0}
 .dpm-body{padding:16px 16px 28px;gap:24px;grid-template-columns:1fr}
 .dpm-group a{font-size:21px}
 .dpm-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));gap:10px 18px}
 .dpm-cta{flex-basis:100%;text-align:center}
 .dpm-lang{margin-left:0}
}
@media (prefers-reduced-motion:reduce){.dpm,.dpm-group{transition:none}}
/* phones: a compact menu (Daniele 2026-10-03: too big and it did not scroll) */
@media (max-width:760px){
 .dpm-body{padding:10px 16px 24px;gap:16px;-webkit-overflow-scrolling:touch;touch-action:pan-y}
 .dpm-group h2{margin-bottom:2px;padding-bottom:5px;font-size:10.5px}
 .dpm-group a{padding:5px 0;font-size:18px;line-height:1.15}
 .dpm-group a small{display:none}
 .dpm-foot{padding:9px 16px calc(9px + env(safe-area-inset-bottom,0px));gap:6px 16px}
 .dpm-cta{padding:10px 16px;font-size:14px}
 .dpm-foot a:not(.dpm-cta){font-size:13px}
}
/* the list must be allowed to shrink inside the flex column, or the phone's browser bar hides the bottom and it cannot scroll */
.dpm{height:100vh;height:100dvh;inset:0 auto auto 0;width:100%}
.dpm-body{min-height:0;-webkit-overflow-scrolling:touch}

/* --- dp-form.css --- */
/* the site's request form (dist/dp-form.js) */
html.dpf-open,html.dpf-open body{overflow:hidden!important}
.dpf-modal{position:fixed;inset:0;z-index:2100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(12,9,7,.62);backdrop-filter:blur(3px);opacity:0;transition:opacity .25s}
.dpf-modal[hidden]{display:none}
.dpf-modal.is-open{opacity:1}
.dpf-panel{width:min(620px,100%);max-height:min(860px,calc(100vh - 40px));display:flex;flex-direction:column;background:#241a14;color:#f2eadc;border:1px solid rgba(230,215,186,.16);box-shadow:0 30px 80px rgba(0,0,0,.45);transform:translateY(14px);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.dpf-modal.is-open .dpf-panel{transform:none}
.dpf-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid rgba(230,215,186,.12);font:600 12px 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#ec6607}
.dpf-x{background:none;border:0;color:#f2eadc;font-size:30px;line-height:1;cursor:pointer;padding:0 4px}
.dpf-box{overflow:auto;padding:20px 26px 26px;scrollbar-width:thin;scrollbar-color:#ec6607 #30231b}
.dpf{font-family:'DM Sans',sans-serif;color:#f2eadc}
.dpf-inline .dpf-nav{position:static;margin:22px 0 0;padding:0;background:none}
.dpf-inline{max-width:640px;background:#241a14;border:1px solid rgba(230,215,186,.16);padding:4px}
.dpf h3{font:400 clamp(28px,4vw,38px)/1.05 'Instrument Serif',Georgia,serif;margin:6px 0 16px;color:#f2eadc}
.dpf-progress{display:flex;gap:6px;margin-bottom:6px}
.dpf-progress i{flex:1;height:3px;background:rgba(242,234,220,.16)}
.dpf-progress i.on{background:#b44b08}.dpf-progress i.now{background:#ec6607}
.dpf-count{margin:0;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(242,234,220,.6)}
.dpf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dpf-field{display:block;margin:0 0 14px}
.dpf-field>span{display:block;font-size:13px;margin-bottom:6px;color:rgba(242,234,220,.82)}
.dpf input[type=text],.dpf input[type=email],.dpf input[type=tel],.dpf textarea{width:100%;box-sizing:border-box;background:rgba(0,0,0,.22);border:1px solid rgba(242,234,220,.28);border-radius:0;color:#f2eadc;font:16px 'DM Sans',sans-serif;padding:12px 13px;outline:none;transition:border-color .15s}
.dpf input:focus,.dpf textarea:focus{border-color:#ec6607}
.dpf input[aria-invalid],.dpf textarea[aria-invalid]{border-color:#ff8a5c}
.dpf input::placeholder,.dpf textarea::placeholder{color:rgba(242,234,220,.4)}
.dpf-err{display:block;min-height:0;font-style:normal;font-size:12.5px;color:#ff9a6c;margin-top:4px}
.dpf-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;margin:6px 0 4px;cursor:pointer}
.dpf-check input{margin-top:1px;accent-color:#ec6607;width:20px;height:20px;flex:none}
.dpf-consent{padding:12px 13px;margin:6px 0 0;border:1px solid rgba(242,234,220,.22)}
.dpf-consent:has(input:checked){border-color:#ec6607;background:rgba(236,102,7,.1)}
.dpf-links{margin:8px 0 0;font-size:13px;color:rgba(242,234,220,.72)}
.dpf a{color:#f2eadc;text-decoration:underline;text-underline-offset:.2em}
.dpf-note,.dpf-sub{font-size:13px;color:rgba(242,234,220,.72);margin:4px 0 14px;line-height:1.5}
.dpf-cards{display:grid;gap:8px}
.dpf-group{margin:10px 0 0;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#ec6607}
.dpf-card{display:flex;gap:12px;align-items:flex-start;padding:11px 13px;border:1px solid rgba(242,234,220,.2);cursor:pointer;transition:border-color .15s,background .15s}
.dpf-card:hover{border-color:rgba(236,102,7,.6)}
.dpf-card:has(input:checked){border-color:#ec6607;background:rgba(236,102,7,.12)}
.dpf-card input{margin-top:3px;accent-color:#ec6607;width:17px;height:17px;flex:none}
.dpf-card b{display:block;font-weight:600;font-size:15px}
.dpf-card small{display:block;font-size:12.5px;color:rgba(242,234,220,.68);margin-top:2px;line-height:1.4}
.dpf-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:40px}
.dpf-day{scroll-snap-align:start}
.dpf-day,.dpf-time{flex:none;background:none;border:1px solid rgba(242,234,220,.25);color:#f2eadc;font:14px 'DM Sans',sans-serif;padding:9px 12px;cursor:pointer;text-transform:capitalize}
.dpf-day.on,.dpf-time.on{border-color:#ec6607;background:#ec6607;color:#fff}
.dpf-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-top:12px}
.dpf-sum{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:14.5px;line-height:1.5;margin:0 0 14px}
.dpf-sum dt{color:rgba(242,234,220,.6)}.dpf-sum dd{margin:0}.dpf-sum small{font-size:12.5px;color:rgba(242,234,220,.68)}
.dpf-nav{position:sticky;bottom:-26px;z-index:2;display:flex;justify-content:space-between;align-items:center;margin:22px -26px 0;padding:14px 26px 26px;gap:12px;background:linear-gradient(rgba(36,26,20,0),#241a14 14px)}
.dpf-next{background:#ec6607;color:#fff;border:0;font:600 15px 'DM Sans',sans-serif;padding:13px 22px;cursor:pointer}
.dpf-next:hover{background:#b44b08}.dpf-next:disabled{opacity:.6;cursor:wait}
.dpf-back{background:none;border:0;color:#f2eadc;font:14px 'DM Sans',sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:.2em;padding:8px 0}
.dpf-error{color:#ff9a6c;font-size:13.5px;margin:12px 0 0}
.dpf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media (max-width:760px){
 .dpf-modal{padding:0;align-items:stretch}
 .dpf-panel{max-height:none;height:100%;border:0}
 .dpf-box{padding:16px 18px calc(22px + env(safe-area-inset-bottom,0px))}
 .dpf-nav{bottom:calc(-22px - env(safe-area-inset-bottom,0px));margin:22px -18px 0;padding:14px 18px calc(22px + env(safe-area-inset-bottom,0px))}
 .dpf-row{grid-template-columns:1fr;gap:0}
}
@media (prefers-reduced-motion:reduce){.dpf-modal,.dpf-panel{transition:none}}

/* larger touch targets (QA 3/10) */
.dpf-x{min-width:44px;min-height:44px;font-size:32px}
.dpf-back{min-height:44px;padding:10px 6px}
.dpf-day,.dpf-time{min-height:44px}
.dpf-check{min-height:44px}
.dpf a{padding:6px 0;display:inline-block}

/* --- home-nav.css --- */
/* Home navigation (2026-10-02, requested by Daniele).
   1. One gesture = one chapter: handled in home-nav.js on the seven .ink-scene chapters + footer.
   2. Mobile behaves like desktop: the chapter text stays fixed and is replaced with the
      copy-enter animation, instead of scrolling with the page. This overrides the short-screen
      fallback in business-ink.css; home-nav.js shrinks a message that would not fit.
   Loaded on the home only (IT/EN) by src/trust-layer.py. */
/* paging is done by home-nav.js (wheel, swipe, keys); no CSS snap, which fought the footer stop */
html:has(body.ink-home){scroll-snap-type:none;scroll-padding-top:0}

@media(max-width:360px),(max-height:760px) and (max-width:760px){
 .ink-home.experience-ready .ink-scene{height:100svh;min-height:100svh;padding:0}
 .ink-home.experience-ready .scene-message{position:fixed;left:20px;right:20px;top:auto;bottom:118px;transform:none;width:auto;max-width:none;visibility:hidden;opacity:0;pointer-events:none}
 .ink-home.experience-ready .is-current .scene-message{visibility:visible;opacity:1;pointer-events:auto}
}
@media(max-width:760px){
 .ink-home.experience-ready .scene-message{zoom:var(--fit,1)}
}

/* --- origami-bird.css --- */
/* One lightweight WebGL paper stage for the whole site. */
.dp-bird3d{position:fixed;inset:0;width:100vw;height:100vh;z-index:1500;pointer-events:none;display:block}
@keyframes dp-thud{0%{transform:none}20%{transform:translate3d(0,3px,0) scale(1.006)}48%{transform:translate3d(0,-2px,0)}75%{transform:translate3d(0,1px,0)}100%{transform:none}}
html.dp-thud .dp-bird3d{animation:dp-thud .36s ease-out both}
.dp-paper-invitation{position:fixed;inset:0;z-index:1501;display:grid;place-items:center;background:none;opacity:0;transition:opacity .35s ease;isolation:isolate}
.dp-paper-invitation[hidden]{display:none}
.dp-paper-invitation.is-ready{opacity:1}
.dp-paper-copy{position:relative;box-sizing:border-box;width:min(420px,calc(100vw - 34px),calc(100svh - 80px));aspect-ratio:1;padding:48px 42px 32px;color:#352218;display:flex;flex-direction:column;justify-content:center;gap:15px;transform:translateY(8px);transition:transform .35s ease;font-family:'DM Sans',sans-serif}
.is-ready .dp-paper-copy{transform:none}
.dp-paper-copy p,.dp-paper-copy h2{margin:0;color:inherit}
.dp-paper-copy .dp-paper-label{font-size:10px;font-weight:700;letter-spacing:.17em;color:#8b583a}
.dp-paper-copy h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:38px;line-height:1.02;font-weight:600;max-width:290px}
.dp-paper-copy p:not(.dp-paper-label){font-size:15px;line-height:1.5;max-width:300px}
.dp-paper-close{position:absolute;top:16px;left:16px;width:34px;height:34px;border:0;background:none;color:#352218;font-size:27px;cursor:pointer;line-height:1}
.dp-paper-test{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#ec660a;color:#29190f;padding:14px 16px;font-size:14px;font-weight:700;text-decoration:none;border-radius:2px;min-height:44px;box-sizing:border-box}
.dp-paper-dismiss{align-self:flex-start;border:0;border-bottom:1px solid #b6a08b;background:none;color:#655144;padding:2px 0;font:inherit;font-size:12px;cursor:pointer}
.dp-paper-copy :is(a,button):focus-visible{outline:2px solid #442715;outline-offset:4px}
@media(max-width:480px),(max-height:560px){.dp-paper-copy{padding:36px 25px 22px;gap:10px}.dp-paper-copy h2{font-size:29px}.dp-paper-copy p:not(.dp-paper-label){font-size:13px}.dp-paper-test{padding:12px;font-size:12px}.dp-paper-close{top:8px;left:8px}}
@media(prefers-reduced-motion:reduce){.dp-bird3d{display:none}.dp-paper-invitation,.dp-paper-copy{transition:none}}

.dp-paper-shade{position:fixed;inset:0;z-index:1499;background:rgba(28,17,12,.48);pointer-events:none}.dp-paper-shade[hidden]{display:none}
.dp-paper-copy a.dp-paper-test{color:#29190f}.dp-paper-copy button.dp-paper-close{color:#352218}.dp-paper-copy button.dp-paper-dismiss{color:#655144}

/* --- dp-pages.css --- */
/* incense + smoke kanji on internal pages (dist/dp-pages.js); same place and size as on the home */
.dp-ink #ink-particles{position:fixed;inset:0;z-index:4;display:block;width:100vw;height:100vh;pointer-events:none;max-width:none}
.dp-lettering{position:fixed;right:5.5%;top:50%;transform:translateY(-50%);width:200px;height:590px;pointer-events:none;z-index:4}
.dp-lettering .kanji-fallback{display:none}
.dp-lettering .smoke-word-box{position:absolute;left:10px;right:10px;top:18px;height:440px;pointer-events:none}
.dp-lettering .incense-source{position:absolute;left:calc(50% - 105.6px);top:490px;width:140px;pointer-events:none}
.dp-lettering .incense-source img{width:100%;height:auto;display:block;filter:brightness(1.3)}
.dp-ink .lp-symbol{visibility:hidden}
@media (max-width:1050px){.dp-lettering{right:4%;width:170px;height:510px}.dp-lettering .smoke-word-box{height:385px}.dp-lettering .incense-source{top:421px}}
@media (max-width:760px){
 .dp-lettering{top:auto;bottom:calc(34px + env(safe-area-inset-bottom,0px));transform:none;right:8px;width:104px;height:250px}
 .dp-lettering .smoke-word-box{left:5px;right:5px;top:0;height:185px}
 .dp-lettering .incense-source{top:196px;width:86px;left:calc(50% - 65px)}
 /* the text keeps clear of the kanji column */
 .dp-ink main .lp-inner{padding-right:118px!important}
}
@media (prefers-reduced-motion:reduce){.dp-lettering .kanji-fallback{display:block;font:400 64px/1.1 'Noto Serif JP',serif;color:#f2eadc;opacity:.8;writing-mode:vertical-rl;margin:auto}}
/* the text never runs under the kanji column */
@media (min-width:761px){.dp-ink main .lp-inner{padding-right:calc(5.5vw + 240px)!important}}
@media (min-width:761px) and (max-width:1050px){.dp-ink main .lp-inner{padding-right:calc(4vw + 200px)!important}}

/* --- eichi.css --- */
/* Eichi 英知, the site's sales chat (dist/eichi.js): origami owl button, the sheet that unfolds, the chat. */
.eichi-owl{position:fixed;right:20px;bottom:20px;z-index:1400;width:66px;height:66px;padding:0;border:0;background:none;cursor:pointer;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .2s}
.eichi-owl:hover{transform:translateY(-3px) rotate(-4deg)}
.eichi-owl:focus-visible{outline:2px solid #ec6607;outline-offset:4px}
.eichi-owl svg{width:100%;height:100%;display:block}
/* the speech bubble at the owl's left: it says this is a chat; it shows on hover and every now and then */
.eichi-owl .tip{position:absolute;right:calc(100% + 12px);top:50%;transform:translate(6px,-50%) scale(.92);transform-origin:right center;white-space:nowrap;background:#f2eadc;color:#241a14;font:500 13.5px 'DM Sans',sans-serif;padding:9px 13px;border-radius:14px;box-shadow:0 8px 20px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s cubic-bezier(.16,1,.3,1)}
.eichi-owl .tip::after{content:'';position:absolute;right:-6px;top:50%;margin-top:-6px;border:6px solid transparent;border-right:0;border-left-color:#f2eadc}
.eichi-owl:hover .tip,.eichi-owl.hint .tip{opacity:1;transform:translate(0,-50%) scale(1)}
.eichi-owl[hidden]{display:none}
html.dpf-open .eichi-owl{opacity:0;pointer-events:none}

.eichi-sheet{position:fixed;z-index:1401;transform-style:preserve-3d;perspective:900px;pointer-events:none}
.eichi-sheet i{position:absolute;top:0;width:50%;height:100%;background:#ec6607;backface-visibility:hidden}
.eichi-sheet i:first-child{left:0;transform-origin:right center;background:linear-gradient(135deg,#f2eadc,#e6d7ba);box-shadow:inset -8px 0 14px -10px rgba(0,0,0,.35)}
.eichi-sheet i:last-child{left:50%;background:linear-gradient(225deg,#f07a24,#ec6607)}

.eichi{position:fixed;right:20px;bottom:20px;z-index:1400;width:min(390px,calc(100vw - 32px));height:min(600px,calc(100vh - 110px));display:flex;flex-direction:column;background:#241a14;color:#f2eadc;border:1px solid rgba(236,102,7,.55);box-shadow:0 30px 70px rgba(0,0,0,.5);font-family:'DM Sans',sans-serif;opacity:0;transition:opacity .2s}
.eichi.on{opacity:1}
.eichi[hidden]{display:none}
.eichi-head{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 16px;border-bottom:1px solid rgba(242,234,220,.12);background:#1b130e}
.eichi-head svg{width:34px;height:34px;flex:none}
.eichi-head b{display:block;font:400 22px/1 'Instrument Serif',Georgia,serif}
.eichi-head small{display:block;font-size:11.5px;color:rgba(242,234,220,.62);margin-top:3px}
.eichi-head .x{margin-left:auto;background:none;border:0;color:#f2eadc;font-size:26px;line-height:1;cursor:pointer;padding:2px 6px}
.eichi-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 14px 6px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:#ec6607 transparent}
.eichi-msg{max-width:88%;padding:10px 13px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.eichi-msg.bot{align-self:flex-start;background:#30231b;border:1px solid rgba(242,234,220,.1)}
.eichi-msg.me{align-self:flex-end;background:#ec6607;color:#fff}
.eichi-msg a{color:#f6a35f;text-underline-offset:.2em}
.eichi-msg.me a{color:#fff}
.eichi-msg.typing::after{content:'';display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:#ec6607;animation:eichi-dot 1s infinite}
@keyframes eichi-dot{50%{opacity:.2}}
.eichi-note{margin:0;padding:0 16px 8px;font-size:11px;color:rgba(242,234,220,.5)}
.eichi-note a{color:inherit}
.eichi-in{display:flex;gap:8px;align-items:flex-end;padding:10px 12px 12px;border-top:1px solid rgba(242,234,220,.12)}
.eichi-in textarea{flex:1;resize:none;max-height:120px;min-height:44px;background:rgba(0,0,0,.25);border:1px solid rgba(242,234,220,.25);color:#f2eadc;font:15px/1.4 'DM Sans',sans-serif;padding:11px 12px;outline:none;border-radius:0}
.eichi-in textarea:focus{border-color:#ec6607}
.eichi-in button{flex:none;width:44px;height:44px;border:0;cursor:pointer;display:grid;place-items:center;background:#30231b;color:#f2eadc}
.eichi-in button.send{background:#ec6607;color:#fff}
.eichi-in button:disabled{opacity:.5;cursor:default}
.eichi-in button.mic.rec{background:#b44b08;color:#fff;animation:eichi-dot 1.2s infinite}
.eichi-in svg{width:20px;height:20px}
@media(max-width:560px){
 .eichi{right:0;bottom:0;width:100vw;height:calc(100dvh - 64px);border-left:0;border-right:0;border-bottom:0}
 .eichi-owl{right:12px;bottom:12px;width:48px;height:48px}
 .eichi-owl .tip{font-size:12.5px;padding:7px 11px}
}
@media(prefers-reduced-motion:reduce){.eichi,.eichi-owl{transition:none}}

.eichi .book{margin:0 12px 2px;padding:10px 12px;border:1px solid #ec6607;background:rgba(236,102,7,.14);color:#f2eadc;font:600 14px 'DM Sans',sans-serif;cursor:pointer}
.eichi .book:hover{background:#ec6607;color:#fff}
.eichi .book[hidden]{display:none}

/* --- startup-probono.css --- */
.venture-title{font-family:'Instrument Serif',serif;font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:1.02;max-width:950px;margin:24px 0}.venture-title em,.venture-chapter h2 em{font-style:normal;color:#ec6607}.venture-chapter .lp-lead{max-width:760px}.venture-price{font-size:1rem;margin:22px 0}.venture-price strong{font-family:'Instrument Serif',serif;font-size:3rem;font-weight:400;color:#ec6607;margin:0 10px}.venture-button{background:#ec6607!important;color:#30231b!important;border:0!important;display:inline-flex;gap:24px;align-items:center;padding:16px 23px;border-radius:2px;font-weight:600}.venture-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:40px}.venture-cards article{border-top:1px solid #a58b71;padding-top:24px}.venture-cards h3{font-size:1.2rem;line-height:1.4;margin:0 0 18px;color:#f5ddbd}.venture-cards p{font-size:1rem;line-height:1.65;max-width:380px}.venture-orange,.pro-bono-teaser{color:#30231b!important}.venture-orange h2 em,.venture-orange .lp-lead,.venture-orange .lp-index{color:#30231b!important}.pro-bono-teaser .lp-inner{max-width:1200px}.pro-bono-teaser h2{font-family:'Instrument Serif',serif;font-size:clamp(2.8rem,5.5vw,5rem);font-weight:400;line-height:1.05;max-width:880px;margin:20px 0}.pro-bono-teaser p{max-width:670px;line-height:1.6;font-size:1.05rem}.pro-bono-teaser .venture-button{background:#30231b!important;color:#fff8ec!important}.pro-bono-teaser .eyebrow{color:#30231b}.pro-bono-teaser .pro-fold{position:absolute;right:0;top:18%;width:160px;height:160px;color:#fff8ec;opacity:.85}.pro-bono-teaser .pro-fold svg{width:100%;height:100%}.pro-bono-teaser .lp-inner>*:not(.pro-fold){position:relative;z-index:1}.venture-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.venture-fields label{display:flex;flex-direction:column;gap:10px;font-size:.95rem}.venture-fields .wide{grid-column:1/-1}.pro-bono-form{max-width:840px;margin-top:32px}.pro-bono-form input,.pro-bono-form textarea{background:#291d17;color:#fff8ec;border:1px solid #99816c;border-radius:3px;padding:14px;font:inherit;width:100%;box-sizing:border-box}.pro-bono-form textarea{resize:vertical}.pro-bono-form input:focus-visible,.pro-bono-form textarea:focus-visible{outline:2px solid #ec6607;outline-offset:3px}.pro-bono-form .venture-consent{display:flex;gap:14px;align-items:flex-start;font-size:.9rem;line-height:1.6;margin:24px 0}.venture-consent input{width:20px;height:20px;flex-shrink:0;accent-color:#ec6607;margin-top:3px}.venture-consent a{color:#ffc69e}.pro-bono-form .venture-hp{display:none}.application-status{padding:0;margin-top:20px;line-height:1.6}.application-status:not(:empty){padding:20px;border-left:3px solid #ec6607;background:#30231b}.pro-bono-form button:disabled{opacity:.6;cursor:wait}.dp-foot-paths{display:flex;gap:24px;flex-wrap:wrap;margin:18px 0}.dp-foot-paths a{color:#f5ddbd;text-underline-offset:5px}.ink-home .pro-bono-teaser{background:transparent;min-height:100svh;display:flex;align-items:center;padding:110px 8vw 140px;box-sizing:border-box}.ink-home.experience-ready .pro-bono-teaser .scene-message{left:8vw;right:8vw;bottom:140px;max-width:1100px}.ink-home .pro-bono-teaser .scene-message h2{color:#30231b}.landing-stage[data-scene="pro-bono"],.landing-stage[data-scene="condivisione"]{background:#ec6607!important}.landing-stage[data-scene="pro-bono"] .stage-shade,.landing-stage[data-scene="condivisione"] .stage-shade{background:none}.fixed-landing .venture-orange .lp-lead{color:#30231b!important}@media(max-width:800px){.venture-cards{grid-template-columns:1fr;gap:22px;margin-top:25px}.venture-cards article{padding-top:18px}.venture-cards h3{margin-bottom:10px}.venture-cards p{max-width:none;margin-bottom:0}.venture-title{font-size:3.2rem}.venture-fields{grid-template-columns:1fr}.pro-bono-teaser .pro-fold{width:85px;height:85px;top:0;right:0;opacity:.35}.pro-bono-teaser h2{font-size:2.8rem}.ink-home .pro-bono-teaser .scene-message{max-width:100%}.pro-bono-teaser p{font-size:1rem}.venture-chapter .lp-inner{padding:14px 0}}@media(prefers-reduced-motion:reduce){.venture-chapter *{animation:none!important}}
.ink-home:has(.pro-bono-teaser.is-current) .dp-cta,.fixed-landing:has(.venture-orange.chapter-current) .dp-cta{color:#30231b!important;border-color:#30231b!important}.ink-home .pro-bono-teaser .lp-note{color:#30231b}.ink-home .pro-bono-teaser a{color:#fff8ec}.ink-home .pro-bono-frame{background:#ec6607!important}
.pro-bono-form [hidden]{display:none!important}.pro-bono-form fieldset{border:0;padding:0;margin:0}.pro-bono-form legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.application-progress{font-size:.9rem;color:#efad7d;letter-spacing:.04em;margin-bottom:24px}.application-nav{display:flex;gap:24px;align-items:center;margin:24px 0}.application-nav button.text-link{background:none;border:0;padding:14px 0;color:#fff8ec;cursor:pointer}
.ink-home .pro-bono-teaser .pro-fold{display:none}
