
:root {--paper:#FBF9F6;--cream:#F4EEE9;--rose:#AA7D80;--rose-dark:#80545F;--rose-faint:#EFE2DF;--ink:#39312F;--gray:#766E69;--sage:#868A7A;--gold:#C8A67F;--border:#E6DCD4;--serif:'Noto Serif CJK JP','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Noto Sans CJK JP','Hiragino Kaku Gothic ProN',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-feature-settings:"palt" 1;line-height:1.95;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}
button{font:inherit}.container{max-width:1180px;margin:0 auto;padding:0 36px}
header{height:91px;background:rgba(251,249,246,.98);border-bottom:1px solid rgba(204,191,180,.35);position:relative;z-index:5}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{font-family:Georgia,'Times New Roman',serif;font-size:22px;letter-spacing:.14em;line-height:1.15;white-space:nowrap}
.logo small{display:block;margin-top:7px;font-family:Georgia,serif;font-size:9px;letter-spacing:.22em;color:var(--gray)}
.navigation{display:flex;align-items:center;gap:26px;font-family:Georgia,serif;font-size:11px;letter-spacing:.07em;white-space:nowrap}
.navigation a:not(.nav-cta):hover,.textlink:hover{color:var(--rose-dark)}
.nav-cta{background:var(--rose-dark);color:#fff;border-radius:30px;padding:11px 23px;transition:transform .2s}
.nav-cta:hover,.primary:hover{transform:translateY(-2px)}
.mobile-menu{display:none;border:0;background:transparent;font-size:23px;color:var(--ink)}
.preview-label{font:10px var(--sans);letter-spacing:.12em;color:#fff;background:#7C7270;padding:7px 12px;text-align:center}
.hero{background:linear-gradient(115deg,#FCFAF7 0%,#F8F4F0 52%,#F0E5DF 100%);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;left:-160px;top:-210px;width:480px;height:480px;border:1px solid rgba(177,144,125,.16);border-radius:50%;pointer-events:none}
.hero-grid{min-height:608px;display:grid;grid-template-columns:51% 49%;align-items:center;gap:10px}
.hero-text{padding:75px 10px 85px 0;position:relative;z-index:2}
.eyebrow{font-family:Georgia,serif;font-size:11px;letter-spacing:.26em;color:var(--rose-dark);font-weight:normal;text-transform:uppercase}
.eyebrow-jp{font:11px var(--sans);color:var(--rose-dark);letter-spacing:.22em}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(38px,4.0vw,58px);font-weight:400;line-height:1.65;letter-spacing:.07em;margin:20px 0 26px;white-space:nowrap}
.hero-desc{font-size:14px;line-height:2.5;color:#5E5350;letter-spacing:.04em;margin-bottom:28px}
.primary{display:inline-block;background:var(--rose-dark);color:#fff;border-radius:100px;padding:14px 34px;font-size:12px;letter-spacing:.065em;transition:transform .2s;box-shadow:0 10px 24px rgba(100,61,65,.12)}
.primary .arr{margin-left:20px;font-family:Georgia,serif}
.hero-visual{height:100%;min-height:575px;display:flex;align-items:flex-end;justify-content:flex-end;position:relative}
.hero-visual img{width:100%;height:570px;object-fit:cover;object-position:45% 45%;border-radius:240px 240px 0 0;box-shadow:0 16px 36px rgba(72,61,50,.09)}
.hero-visual .vertical{position:absolute;right:-24px;top:125px;writing-mode:vertical-rl;letter-spacing:.22em;font:10px Georgia,serif;color:var(--rose-dark)}
.hero-visual::after{content:'';position:absolute;width:240px;height:240px;border-radius:50%;border:1px solid rgba(255,255,255,.66);right:-55px;bottom:-55px}
.mock-tag{position:absolute;bottom:15px;left:18px;font:10px var(--sans);background:rgba(255,255,255,.76);color:#594D48;padding:5px 10px;letter-spacing:.08em}
.hero-side-ornament{position:absolute;bottom:55px;left:-56px;writing-mode:vertical-rl;color:var(--rose);font-family:Georgia,serif;letter-spacing:.16em;font-size:11px}
.section-pad{padding:120px 0}.section-head{margin-bottom:48px}
.section-head.center{text-align:center}
.section-title{font-weight:400;font-size:clamp(28px,2.7vw,40px);line-height:1.8;letter-spacing:.06em;margin:12px 0 22px}
.section-intro{max-width:710px;color:var(--gray);font-size:14px;line-height:2.5}
.intro-grid{display:grid;grid-template-columns:43% 57%;gap:8%;align-items:center}
.intro-photo{height:540px;position:relative}
.intro-photo img{width:100%;height:100%;object-position:30% 40%;filter:brightness(1.03)}
.intro-photo:after{content:"";position:absolute;right:-25px;top:25px;width:100%;height:100%;border:1px solid var(--gold);z-index:-1}
.photo-caption{font:10px var(--sans);color:var(--gray);margin:8px 0 0;letter-spacing:.04em}
.intro-copy p{color:var(--gray);font-size:14px;line-height:2.55;margin-bottom:22px}
.inline-line{display:block;height:1px;width:48px;background:var(--gold);margin:30px 0 20px}
.concerns{background:#F9F5F1}
.concern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 26px}
.concern{background:rgba(255,255,255,.71);border:1px solid #F0E7DF;min-height:118px;padding:24px 22px;display:flex;gap:15px;align-items:flex-start;line-height:2.05;color:#5D514D;font-size:13px}
.concern:before{content:'○';color:var(--rose);font-family:Georgia,serif;font-size:15px;line-height:2}
.concern-note{text-align:center;margin:40px 0 0;font-size:15px;line-height:2.4}
.services{background:linear-gradient(150deg,#EEDBDB 0%,#F5ECE9 45%,#F9F4F0 100%)}
.services .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-card{background:rgba(255,255,255,.84);border-bottom:2px solid rgba(148,99,102,.3)}
.service-card img{width:100%;aspect-ratio:1.33;object-fit:cover}
.service-card-body{padding:26px 28px 32px;text-align:center}
.service-number{font:24px Georgia,serif;color:var(--rose-dark);margin-right:9px}
.service-en{font:15px Georgia,serif;letter-spacing:.14em}
.service-jp{font-size:13px;letter-spacing:.1em;margin-top:7px}
.service-card p{color:var(--gray);font-size:12px;line-height:2.2;margin-top:13px;margin-bottom:0}
.process{background:var(--paper)}
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin:65px 0 0}
.process-step{position:relative;padding:18px 13px 10px 4px;border-top:1px solid var(--border)}
.process-step:before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.process-number{font:34px Georgia,serif;color:var(--gold);line-height:1}
.process-en{display:block;font:12px Georgia,serif;letter-spacing:.11em;margin-top:16px}
.process-jp{font-size:12px;color:var(--gray);margin-top:7px}
.about{background:linear-gradient(90deg,#FAF5EF,#F7EEE9)}
.about-grid{display:grid;grid-template-columns:48% 52%;gap:8%;align-items:center}
.about-placeholder{height:530px;background:linear-gradient(150deg,rgba(69,51,49,.09),rgba(209,180,167,.42)),none center center/cover;position:relative;display:flex;align-items:end;justify-content:center;overflow:hidden}
.about-placeholder::after{content:"";width:280px;height:420px;border:1px solid rgba(255,255,255,.85);border-radius:150px 150px 0 0;position:absolute;bottom:-15px;left:50%;transform:translateX(-50%)}
.about-placeholder-inner{position:relative;z-index:2;background:rgba(251,249,246,.91);padding:22px 40px;text-align:center;margin-bottom:36px}
.about-placeholder-inner span{display:block;font:13px Georgia,serif;letter-spacing:.15em}
.about-placeholder-inner small{display:block;font:10px var(--sans);color:var(--gray);margin-top:5px}
.about-copy h3{font-weight:400;font-size:25px;line-height:1.8}
.about-copy p{font-size:13px;line-height:2.6;color:var(--gray)}
.about-sign{font:italic 26px 'Brush Script MT',Georgia,serif;color:var(--rose-dark);margin:20px 0 10px}
.philosophy{background:#705860;color:#FBF6F2;position:relative;overflow:hidden}
.philosophy:before{content:"";position:absolute;border:1px solid rgba(255,255,255,.13);width:700px;height:700px;border-radius:50%;top:-380px;right:-210px}
.philosophy .eyebrow{color:#EBD7CB}
.philo-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:50px}
.philo-unit{border-top:1px solid rgba(255,255,255,.35);padding-top:23px}
.philo-unit h3{font:14px Georgia,serif;letter-spacing:.18em;color:#F0D7D5}
.philo-unit h3 span{font-size:11px;letter-spacing:0;margin-left:14px;font-family:var(--serif)}
.philo-unit p{font-size:18px;line-height:2.35;letter-spacing:.035em;margin-top:23px}
.last-contact{background:#F5EBE5;text-align:center;padding:120px 0 112px}
.last-contact h2{font-weight:400;font-size:34px;line-height:1.8}
.last-contact p{font-size:14px;color:var(--gray);line-height:2.5;margin-bottom:29px}
.footer{background:#3E3434;color:#F1E8E5;padding:52px 0 30px}
.footer-flex{display:flex;justify-content:space-between;align-items:start;gap:25px}
.footer .logo{font-size:22px}.footer small{color:#D0C3C0}
.footer-nav{display:flex;gap:22px;flex-wrap:wrap;font:11px Georgia,serif;letter-spacing:.05em}
.foot-line{border-top:1px solid rgba(255,255,255,.16);margin:45px 0 18px}
.copyright{font:10px Georgia,serif;color:#B7A9A7;letter-spacing:.05em}
@media(max-width:900px){.navigation{gap:12px;font-size:10px}.container{padding:0 25px}.hero-grid{grid-template-columns:1fr 1fr}.hero-text{padding-top:45px}.hero-visual{min-height:490px}.hero-visual img{height:480px}h1{font-size:37px}.intro-grid{gap:5%}.about-grid{gap:5%}.service-grid{gap:14px}.service-card-body{padding:22px 14px}}
@media(max-width:680px){.container{padding:0 22px}header{height:72px}.logo{font-size:18px}.mobile-menu{display:block}.navigation{display:none;position:absolute;top:72px;left:0;right:0;background:rgba(251,249,246,.98);padding:20px;gap:0;box-shadow:0 12px 20px rgba(0,0,0,.07);align-items:stretch;flex-direction:column}.navigation.open{display:flex}.navigation a{padding:10px 4px}.navigation .nav-cta{text-align:center}.hero-grid{min-height:auto;display:flex;flex-direction:column;gap:0}.hero-text{width:100%;padding:65px 0 40px}.hero-visual{width:100%;min-height:0;height:390px}.hero-visual img{height:390px;width:100%;border-radius:170px 170px 0 0}.hero-visual .vertical{right:2px;top:64px}.hero-visual .hero-side-ornament{left:10px}.hero-desc{font-size:12px;line-height:2.4}h1{font-size:35px;line-height:1.8;letter-spacing:.04em}.section-pad{padding:72px 0}.section-title{font-size:27px}.intro-grid,.about-grid{grid-template-columns:1fr;gap:40px}.intro-photo{height:370px;margin-right:14px}.intro-copy p{font-size:13px}.concern-grid{grid-template-columns:1fr 1fr;gap:10px}.concern{font-size:12px;min-height:130px;padding:18px 12px;gap:9px}.services .section-head{display:block}.service-grid{grid-template-columns:1fr}.service-card img{aspect-ratio:2.0}.service-card-body{padding:18px}.process-grid{grid-template-columns:repeat(2,1fr);gap:25px}.about-placeholder{height:410px;order:2}.about-copy{order:1}.philo-grid{grid-template-columns:1fr;gap:20px}.philo-unit p{font-size:16px}.last-contact{padding:82px 0}.last-contact h2{font-size:27px}.footer-flex{display:block}.footer-nav{margin-top:28px}.preview-label{font-size:9px}}
@media(max-width:370px){h1{font-size:29px}.concern-grid{grid-template-columns:1fr}.hero-visual{height:310px}.hero-visual img{height:310px}}

/* Real-photo editorial adaptation, v2.0 */
:root{--rose:#A17A80;--rose-dark:#7C575D;--ink:#382E2D;--paper:#FCFAF7;--cream:#F4EEE9}
body{overflow-x:hidden}
.hero{background:linear-gradient(116deg,#FCFAF7 0%,#FAF6F3 60%,#F1E7E4 100%)}
.hero-visual img{object-position:50% 32%;}
.hero-visual:after{pointer-events:none}
.intro-photo img{object-position:50% 22%;}
.intro-copy .section-title{font-size:clamp(29px,2.5vw,34px);letter-spacing:.045em}
.about-photo{margin:0; height:550px; overflow:hidden;position:relative;}
.about-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 28%;}
.about-photo:before{content:"";position:absolute;inset:23px -22px -23px 22px;border:1px solid rgba(193,154,129,.5);z-index:1;pointer-events:none}
.service-card img{aspect-ratio:.85;object-position:50% 21%;}
.service-card:nth-child(2) img,.service-card:nth-child(3) img{object-position:50% 22%;}
.service-card p{min-height:73px}
.photo-caption{font-family:var(--sans);color:#8a7b75;font-size:10px;line-height:1.9}
.photo-gallery{background:#FBF8F4;padding:95px 0 105px}
.gallery-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}
.gallery-head p{color:var(--gray);font-size:13px;max-width:430px;line-height:2.2}
.gallery-grid{display:grid;grid-template-columns:1.25fr .8fr 1fr;gap:16px;align-items:end}
.gallery-item{margin:0;overflow:hidden}
.gallery-item img{width:100%;height:390px;object-fit:cover;object-position:50% 32%;}
.gallery-item:nth-child(1) img{height:300px;object-position:50% 40%}
.gallery-item:nth-child(2) img{height:460px;object-position:50% 27%}
.gallery-item:nth-child(3) img{height:365px;object-position:50% 25%}
.gallery-item figcaption{font:10px Georgia,serif;letter-spacing:.18em;color:var(--rose-dark);padding-top:11px}
.about{background:linear-gradient(90deg,#FAF6F1,#F6EEE9)}
.hero-visual .vertical{right:-7px;z-index:2;top:135px}
.mobile-menu:focus-visible,a:focus-visible{outline:3px solid #BB9D9B;outline-offset:4px}
.page-hero{padding:96px 0 90px;background:linear-gradient(125deg,#FAF7F3,#F3E8E5);overflow:hidden}
.page-hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:5%;align-items:center}
.page-hero img{width:100%;height:480px;object-fit:cover;object-position:center 25%;border-radius:220px 220px 0 0}
.page-hero h1{font-size:clamp(37px,4vw,56px);white-space:normal;line-height:1.55}
.page-hero p{font-size:14px;color:var(--gray);line-height:2.5;max-width:520px}
.prose{max-width:780px;margin:auto;}
.prose p{font-size:14px;line-height:2.65;color:var(--gray)}
.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.topic-card{padding:34px 38px;background:#fff;border:1px solid var(--border)}
.topic-card h3{font-weight:400;font-size:21px;margin-bottom:15px}
.topic-card p{font-size:13px;color:var(--gray);line-height:2.4;margin-bottom:0}
.topic-card span{display:block;font:12px Georgia,serif;color:var(--rose-dark);letter-spacing:.16em;margin-bottom:14px}
.faq{max-width:850px;margin:auto}
.faq details{border-bottom:1px solid var(--border);padding:20px 5px}
.faq summary{cursor:pointer;font-size:15px;line-height:1.8;list-style:none;position:relative;padding-right:28px}
.faq summary:after{content:'＋';position:absolute;right:0;color:var(--rose)}
.faq details[open] summary:after{content:'−'}
.faq p{font-size:13px;line-height:2.4;color:var(--gray);padding-top:18px;margin-bottom:0}
.mvvmargin{padding:120px 0;background:#F6EEE9}
.statement{border-left:2px solid var(--gold);padding:4px 0 4px 30px;margin:35px 0 60px}
.statement strong{font-size:24px;font-weight:400;line-height:1.9}
.statement p{font-size:13px;color:var(--gray);line-height:2.5;margin:16px 0 0}
.values-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.value-card{background:#fff;padding:30px 34px;min-height:220px}
.value-card .en{font:11px Georgia,serif;letter-spacing:.15em;color:var(--rose-dark)}
.value-card h3{font-size:20px;font-weight:400;margin-top:12px;margin-bottom:12px}
.value-card p{font-size:13px;color:var(--gray);line-height:2.45}
.contact-outer{background:#F5EEEA;padding:90px 0}
.contact-box{max-width:700px;margin:0 auto;background:#fff;padding:48px 50px;border:1px solid var(--border)}
.contact-box h2{font-size:26px;font-weight:400}
.demo-form label{display:block;margin:20px 0 6px;font:12px var(--sans);color:#6a5a54}
.demo-form input,.demo-form textarea{font:14px var(--sans);width:100%;padding:14px;border:1px solid #ddd2ca;background:#FAF8F6;color:var(--ink);border-radius:0;}
.demo-form textarea{min-height:105px;resize:vertical}
.demo-form [disabled]{opacity:.7;cursor:not-allowed}
.demo-note{padding:14px;background:#F8F0EB;color:#866A67;font:12px/2 var(--sans)}
.small-cta{display:block;text-align:center;margin:40px auto 0}
@media(max-width:900px){.page-hero-inner{gap:4%}.page-hero img{height:440px}.gallery-grid{gap:10px}}
@media(max-width:680px){
 .hero-visual img{object-position:50% 30%}
 .intro-photo img{object-position:50% 30%}
 .about-photo{height:440px;order:2}
 .service-card img{aspect-ratio:1.15;object-position:50% 20%}
 .service-card:nth-child(2) img,.service-card:nth-child(3) img{object-position:50% 21%}
 .gallery-head{display:block}.photo-gallery{padding:72px 0}
 .gallery-grid{grid-template-columns:1fr 1fr;gap:10px}
 .gallery-item img,.gallery-item:nth-child(1) img,.gallery-item:nth-child(2) img,.gallery-item:nth-child(3) img{height:275px;object-position:50% 22%}
 .gallery-item:nth-child(1){grid-column:1/-1}.gallery-item:nth-child(1) img{height:260px;object-position:50% 38%}
 .page-hero{padding:60px 0 62px}.page-hero-inner{grid-template-columns:1fr;gap:35px}
 .page-hero img{height:370px;border-radius:180px 180px 0 0}
 .page-hero h1{font-size:34px}
 .topic-grid,.values-list{grid-template-columns:1fr}.topic-card{padding:27px 25px}
 .mvvmargin{padding:72px 0}.statement strong{font-size:20px}
 .contact-box{padding:27px 21px}
}


/* v3.0: Independent pages, fully opaque mobile navigation and legal templates */
.site-header{position:sticky;top:0;z-index:1500;background:#FCFAF7;border-bottom:1px solid var(--border)}
.site-header .nav{position:relative}
.mobile-menu{cursor:pointer;position:relative;z-index:1510;min-width:48px;min-height:44px;align-items:center;justify-content:center;gap:7px}
.hamburger-lines{width:23px;display:flex;flex-direction:column;gap:5px}
.hamburger-lines span{display:block;height:1.5px;width:100%;background:var(--ink);transition:transform .2s,opacity .2s}
.menu-label{font:9px Georgia,serif;letter-spacing:.12em}
.mobile-menu[aria-expanded="true"] .hamburger-lines span:first-child{transform:translateY(6.5px) rotate(45deg)}
.mobile-menu[aria-expanded="true"] .hamburger-lines span:nth-child(2){opacity:0}
.mobile-menu[aria-expanded="true"] .hamburger-lines span:last-child{transform:translateY(-6.5px) rotate(-45deg)}
.mobile-legal{display:none}
.navigation a[aria-current="page"]{color:var(--rose-dark)}
.footer-legal{display:flex;gap:24px;flex-wrap:wrap;margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16)}
.footer-legal a{font:11px var(--sans);color:#E7D7D5;line-height:1.7}
.footer-legal a:hover,.footer-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.text-button-light{display:inline-block;border-bottom:1px solid #E4C5C6;color:#fff;padding-bottom:7px;font-size:13px}
.text-link{display:inline-block;border-bottom:1px solid var(--rose);padding-bottom:6px;font-size:12px;color:var(--rose-dark)}
.form-legal-links{font:12px/2 var(--sans);color:var(--gray);margin-top:24px}
.legal-inline,.form-legal-links a{color:var(--rose-dark);text-decoration:underline;text-underline-offset:3px}
.legal-hero{background:linear-gradient(125deg,#FAF7F3,#F2E7E5);padding:78px 0 70px}
.legal-hero h1{font-size:clamp(30px,4vw,48px);white-space:normal;margin:17px 0 16px;line-height:1.6;letter-spacing:.035em}
.legal-hero p{font-size:14px;color:var(--gray);margin:0}
.legal-area{padding:58px 0 100px;background:var(--paper)}
.legal-container{max-width:960px}
.draft-notice{border-left:3px solid var(--rose-dark);background:#F5EEEB;padding:19px 26px;margin:0 0 46px}
.draft-notice strong{font:600 14px var(--sans);color:#6B454C}
.draft-notice p{font:12px/2 var(--sans);color:#715B5A;margin:7px 0 0}
.legal-section{padding:4px 0 36px;margin-bottom:37px;border-bottom:1px solid var(--border)}
.legal-section:last-of-type{border-bottom:0}
.legal-section h2{font-weight:400;font-size:24px;margin:0 0 22px;line-height:1.6;letter-spacing:.03em}
.legal-section p,.legal-section li{font:14px/2.35 var(--sans);color:#5C5652}
.legal-section p{margin:0 0 13px}
.legal-section ul{padding-left:1.5em;margin:13px 0 0}
.legal-section li{padding-left:3px;margin-bottom:10px}
.legal-section a{color:var(--rose-dark);text-decoration:underline}
.legal-table{border-top:1px solid var(--border);margin:23px 0 0}
.legal-table>div{display:grid;grid-template-columns:230px minmax(0,1fr);border-bottom:1px solid var(--border)}
.legal-table dt,.legal-table dd{padding:16px 20px;font:13px/2.05 var(--sans);margin:0}
.legal-table dt{font-weight:600;background:#F6F1ED;color:#5A4B49}
.legal-table dd{background:rgba(255,255,255,.75);color:#544F4B;overflow-wrap:anywhere}
.pending{color:#9A4E58;font-weight:600}
.legal-end{text-align:right;font-size:13px;color:var(--rose-dark)}
@media(max-width:680px){
  .site-header{z-index:1500;background:#FCFAF7!important;isolation:isolate}
  .site-header .mobile-menu{display:flex;flex-direction:column;background:transparent;padding:7px 0;border:0}
  .site-header .navigation{display:flex;position:fixed;top:72px;left:0;right:0;bottom:0;width:100vw;height:calc(100dvh - 72px);z-index:1501;background:#FCFAF7!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(100%);transition:transform .22s ease,opacity .2s ease,visibility .2s;padding:25px 32px calc(25px + env(safe-area-inset-bottom));box-shadow:none;border-top:1px solid var(--border);overflow-y:auto;align-items:stretch;flex-direction:column;gap:0}
  .site-header .navigation.open{display:flex;transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto}
  .site-header .navigation>a{display:block;padding:13px 0;border-bottom:1px solid #EBE3DD;font-size:13px;letter-spacing:.16em}
  .site-header .navigation>a.nav-cta{background:var(--rose-dark);padding:14px 22px;margin:23px 0 10px;letter-spacing:.07em;border:0;border-radius:999px;text-align:center;font-size:13px;color:#fff}
  .site-header .mobile-legal{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:auto;padding:22px 0 5px}
  .site-header .mobile-legal a{font:12px/1.7 var(--sans);color:var(--gray);padding:4px 0;white-space:normal}
  body.menu-open{overflow:hidden}
  .footer-legal{gap:14px 21px}
  .legal-hero{padding:58px 0 50px}
  .legal-area{padding:38px 0 72px}
  .legal-section h2{font-size:20px}
  .legal-section p,.legal-section li{font-size:13px;line-height:2.1}
  .legal-table>div{grid-template-columns:1fr}
  .legal-table dt{padding:10px 16px}
  .legal-table dd{padding:12px 16px}
  .draft-notice{padding:15px 19px}
}
@media(prefers-reduced-motion: reduce){.site-header .navigation,.hamburger-lines span{transition:none}}

.skip-link{position:absolute;left:12px;top:-60px;z-index:2000;background:#fff;color:#3B3030;padding:8px 14px;font:13px var(--sans)}.skip-link:focus{top:10px}

/* v3.1: COMPANY page and business-owner blocks (9-page structure) */
.business{background:var(--cream)}
.business-grid{display:grid;grid-template-columns:40% 1fr;gap:8%;align-items:start}
.business-copy p{font-size:14px;line-height:2.5;color:var(--gray)}
.business-sub{display:block;font-size:.62em;letter-spacing:.05em;color:var(--rose-dark);margin-top:6px}
.prose .draft-notice{margin:34px 0 0}
.company-area{padding-top:20px}
.company-area .legal-section .eyebrow{margin-bottom:6px}
.company-philo-note{font:11px/2 var(--sans);color:#E7D7D5;margin:34px 0 0}
.cta-pair{display:flex;flex-wrap:wrap;gap:22px 34px;justify-content:center;align-items:center}
.entity-note{margin-top:12px!important}
.entity-note b{color:#6B454C}
@media(max-width:680px){
  .business-grid{grid-template-columns:1fr;gap:6px}
  .business-copy p{font-size:13px;line-height:2.3}
}
/* v3.1: with COMPANY added, the PC nav no longer fits between 681px and 900px.
   CONTACT stays in the nav, so the duplicate pill button is hidden only in this range. */
@media(min-width:681px) and (max-width:900px){.site-header .navigation .nav-cta{display:none}}
/* v3.1: existing two-column grids were 43%+57% (and 48%+52%) plus an 8% gap = 108%,
   so the right column (intro copy) was clipped at ~700-1100px. Same ratio, now fits. */
@media(min-width:681px){
  .intro-grid{grid-template-columns:minmax(0,43fr) minmax(0,57fr)}
  .about-grid{grid-template-columns:minmax(0,48fr) minmax(0,52fr)}
}
/* v3.2: legal pages copied from Lumina Global's live legal text (plain h2 + p) */
.lg-copy{padding-bottom:10px}
.lg-copy h2{font-weight:400;font-size:22px;line-height:1.7;letter-spacing:.03em;margin:46px 0 16px;padding-top:26px;border-top:1px solid var(--border);scroll-margin-top:110px}
.lg-copy h2:first-child{margin-top:0;padding-top:0;border-top:0}
.lg-copy p{font:14px/2.2 var(--sans);color:#5C5652;margin:0 0 10px;overflow-wrap:anywhere}
.lg-copy a{color:var(--rose-dark);text-decoration:underline;text-underline-offset:3px}
.lg-copy .legal-item{font-weight:600;color:#6B454C;margin-top:26px}
@media(max-width:680px){
  .lg-copy h2{font-size:19px;margin-top:36px;padding-top:22px}
  .lg-copy p{font-size:13px;line-height:2.05}
}
