:root{--ink:#11171d;--muted:#5f656b;--paper:#fff;--wash:#f5f5f5;--accent:#f1d76b;--line:#d7d9da;--claret:#913447;--measure:1030px}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:50px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'IBM Plex Sans JP',sans-serif;font-size:16px;font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid currentColor;outline-offset:7px}img{display:block;max-width:100%;height:auto}p,h1,h2,h3,figure,dl,dd{margin:0}a:hover{opacity:.75}a{transition:opacity .25s}button,input,select,textarea{font:inherit}.container{width:min(var(--measure),calc(100% - 64px));margin-inline:auto}.topbar{position:relative;z-index:5;background:#fff;color:#20262b;font-size:12px;line-height:1.4}.topbar-inner{min-height:38px;padding:9px 32px;display:flex;gap:20px;align-items:center;justify-content:space-between}.topbar a{text-decoration:underline;text-underline-offset:3px}.divider{display:none}
/* Reference s01: 1280 × 711.109, copy x=80, 30.4158/53.4653px, 52:48 image split. */
.hero{height:55.55555vw;min-height:670px;max-height:960px;position:relative;color:#fff;isolation:isolate}.opening-art{position:absolute;inset:0;overflow:hidden;z-index:-1}.opening-art>img{width:100%;height:100%;object-fit:cover}.opening-glass{position:absolute;inset:0 47.9% 0 0;backdrop-filter:blur(16px);background:rgba(27,30,35,.44)}.hero-inner,.hero-aside{display:contents}.hero-copy{position:absolute;left:6.25%;top:37%;width:41%;max-width:610px}.eyebrow{font-family:Arial,sans-serif;font-weight:300;font-size:30.4158px;letter-spacing:1.21663px;line-height:27.3743px;margin-bottom:26.804px}.hero-word{font-family:Arial,sans-serif;font-size:53.4653px;font-weight:300;line-height:.9;letter-spacing:2.13861px;margin-bottom:37.8076px;white-space:nowrap}.hero-word span{display:inline}.hero-jp{font-size:16px;font-weight:400;line-height:1.9;letter-spacing:.055em;max-width:490px}.hero-card{position:absolute;left:6.25%;bottom:42px;width:41%;display:grid;grid-template-columns:244px 1fr;column-gap:24px;align-items:start}.hero-card-label{grid-column:1;font-family:Arial,sans-serif;font-size:13px;line-height:18px;letter-spacing:.8px;padding:12px 15px 0;background:var(--claret)}.hero-card strong{grid-column:1;font-size:23.0495px;line-height:1.6;letter-spacing:.05em;font-weight:400;background:var(--claret);padding:0 15px 12px}.hero-card>p:last-child{grid-column:2;grid-row:1/3;font-size:14px;line-height:1.85}.hero-note{position:absolute;top:34px;left:6.25%;font-family:Arial,sans-serif;font-size:13px;letter-spacing:.09em;line-height:1.5;padding-bottom:9px;border-bottom:1px solid #ffffff70}
/* s02 project rows: 1030 container, 792px visual + 198px annotation, gap 40, rules. */
.section{padding:140px 0 120px}.section-label{font-family:Arial,sans-serif;font-size:24px;font-weight:500;line-height:30px;letter-spacing:.96px;margin-bottom:54px}.section-title{font-size:32px;line-height:1.55;font-weight:300;letter-spacing:1.92px}.lede{margin-top:32px;font-size:16px;line-height:2;letter-spacing:.04em}.intro-grid{display:grid;grid-template-columns:792fr 198fr;gap:0 40px;align-items:start}.philosophy-image{grid-column:1;grid-row:1;margin-top:100px;height:525px;overflow:hidden}.philosophy-image img{width:100%;height:100%;object-fit:cover}.intro-grid>.reveal:not(.statement){display:contents}.intro-grid .section-label{grid-column:1/-1;grid-row:1;align-self:start}.intro-grid .section-title{grid-column:2;grid-row:1;margin-top:148px;font-size:24px;line-height:1.6;letter-spacing:.96px}.intro-grid .section-title br{display:none}.intro-grid .lede{grid-column:2;grid-row:1;margin-top:296px;font-size:15px;line-height:1.9;letter-spacing:0}.numbers{grid-column:1;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:34px 0;margin-top:0;border-bottom:1px solid var(--line)}.number-card{padding:0 15px 0 0;border-right:1px solid var(--line)}.number-card:last-child{border-right:0}.num{font-family:Arial,sans-serif;font-size:74px;line-height:1;font-weight:300;letter-spacing:-2px}.cap{font-family:Arial,sans-serif;font-size:15px;line-height:1.5;margin:12px 0 8px}.number-card p{font-size:15px;line-height:1.85}.statement{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:38px;padding-top:52px}.statement-block h3{font-size:18px;font-weight:400;line-height:1.7;letter-spacing:.02em;margin-bottom:20px}.statement-block p{font-size:15px;line-height:1.9;color:var(--muted)}
#practice{padding-top:40px}.service-list{margin-top:70px}.service-item{display:grid;grid-template-columns:792fr 198fr;gap:0 40px;border-bottom:1px solid var(--line);padding:40px 0;align-items:start}.service-item:first-child{padding-top:0}.practice-photo{grid-column:1;grid-row:1/3;aspect-ratio:1.5;overflow:hidden}.practice-photo img{height:100%;width:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.service-no{grid-column:2;grid-row:1;font:400 15px/24px Arial,sans-serif;letter-spacing:.6px;padding-top:60px}.service-item>div:last-child{grid-column:2;grid-row:2;align-self:end;padding-bottom:20px}.service-item h3{font-size:18px;font-weight:400;letter-spacing:.72px;line-height:24px;margin-bottom:18px}.service-item p{font-size:15px;line-height:1.9;color:var(--muted)}.service-item:hover .practice-photo img{transform:scale(1.035)}
/* s03: a full-width luminous light-color plane, 120px vertical padding, 32px light heading. */
#fees{background:var(--accent);padding:120px 0}.pricing-wrap{display:grid;grid-template-columns:400fr 547fr;gap:83px}.pricing-wrap .section-label{margin-bottom:58px}.pricing-note{font-size:15px;letter-spacing:.6px;line-height:2.2;margin-top:36px}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 30px}.price-card{padding:0 0 24px;border-bottom:1px solid #151b1f55}.tag{font:400 15px/1.5 Arial,sans-serif;letter-spacing:.6px}.price-card h3{font-size:18px;font-weight:400;line-height:1.5;margin-top:12px;min-height:54px}.price{font-size:38px;line-height:1.2;letter-spacing:1px;font-weight:300;margin:22px 0}.price small{font-size:16px;margin-left:6px}.price-card p{font-size:15px;line-height:1.9}
/* s04: 50:50 edge-to-edge photography on neutral ground. */
#photographs{padding:100px 0 0;background:var(--wash)}#photographs>.container{width:100%}.gallery-head{max-width:1030px;width:calc(100% - 64px);margin:0 auto 70px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.gallery-head .section-label{margin-bottom:30px}.gallery-copy{font-size:15px;line-height:2;max-width:400px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.gallery-stack{display:grid;grid-template-columns:1fr 1fr;gap:0}.photo-card{position:relative;overflow:hidden;aspect-ratio:1.792;height:auto}.gallery-stack .photo-card{aspect-ratio:.896}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.photo-card:hover img{transform:scale(1.04)}.photo-caption{position:absolute;bottom:22px;left:24px;font:400 15px/1.5 Arial,sans-serif;letter-spacing:.6px;padding:10px 16px;background:#ffffffef;color:var(--ink)}
/* s05 contact: black ground, large weight-100 typography, two-column information. */
#office{background:#090b0d;color:#fff;padding:110px 0 80px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.info-grid .section-label{font-family:Arial,sans-serif;font-size:100px;font-weight:100;letter-spacing:2px;line-height:.9;margin-bottom:48px}.info-grid .section-title{font-size:24px;line-height:1.5;margin-bottom:32px}.info-list{display:grid;gap:0}.info-row{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid #ffffff30}.info-row dt{font-size:15px;line-height:1.8;color:#bfc4c8}.info-row dd{font-size:15px;line-height:1.8}.access-text{font-size:15px;line-height:1.9;color:#bfc4c8;margin-top:26px}.contact-box{margin-top:40px;border:1px solid #ffffffb0;border-radius:60px;max-width:396px}.contact-box a{font-family:Arial,sans-serif;font-weight:300;display:block;padding:14px 30px;font-size:29px;line-height:36px;letter-spacing:1px}.footer{background:#090b0d;color:#fff;padding:34px 0 48px}.footer-inner{width:calc(100% - 108px);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid #ffffff40;padding-top:32px;font-size:13px;line-height:1.9}.brand-line{font-family:Arial,sans-serif;font-size:24px;font-weight:300;letter-spacing:.48px}.footer a{text-decoration:underline}.footer-inner>div:last-child{max-width:520px}#noren-direct-reception{background:#fff;min-height:600px}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:copy-arrive 1.05s cubic-bezier(.2,.7,.2,1) both}.hero-card{animation:copy-arrive 1.15s .1s cubic-bezier(.2,.7,.2,1) both}.opening-art>img{animation:picture-arrive 1.5s cubic-bezier(.2,.7,.2,1) both}.has-motion .reveal.ready{opacity:0;transform:translateY(30px)}.has-motion .reveal.ready.visible{opacity:1;transform:translateY(0);transition:opacity .75s,transform .75s cubic-bezier(.2,.7,.2,1)}}@keyframes copy-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes picture-arrive{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(min-width:1500px){.hero-copy{top:32%}.hero-card{bottom:9%}}
@media(max-width:1000px){.hero{min-height:720px}.hero-copy{left:5%;width:46%;top:24%}.hero-word{font-size:44px;letter-spacing:1px}.eyebrow{font-size:24px}.hero-card{left:5%;width:43%;grid-template-columns:1fr;gap:12px;bottom:36px}.hero-card>p:last-child{grid-column:1;grid-row:3}.hero-card-label,.hero-card strong{width:210px}.intro-grid{grid-template-columns:2fr 1fr;gap:0 30px}.philosophy-image{height:550px}.intro-grid .section-title{margin-top:128px}.intro-grid .lede{margin-top:250px}.service-item{grid-template-columns:2fr 1fr;gap:0 30px}.service-no{padding-top:20px}.pricing-wrap{gap:40px;grid-template-columns:1fr 1.3fr}.info-grid{gap:35px}.info-grid .section-label{font-size:38px}.footer-inner{width:calc(100% - 64px)}}
@media(max-width:700px){body{font-size:15px}.topbar-inner{font-size:10px;min-height:52px;padding:8px 20px;flex-wrap:wrap;gap:4px;justify-content:flex-start}.topbar a{font-size:11px}.container{width:calc(100% - 40px)}.hero{height:auto;min-height:830px;max-height:none;padding:120px 24px 32px;display:flex;align-items:flex-start}.opening-art{height:100%;background:#1c252a}.opening-art>img{object-position:64% center}.opening-glass{right:19%;background:rgba(20,26,30,.66);backdrop-filter:blur(13px)}.hero-copy{position:relative;left:auto;top:auto;width:100%;max-width:none;padding-right:23px}.eyebrow{font-size:22px;line-height:1.2;letter-spacing:.8px;margin-bottom:26px}.hero-word{font-size:43px;line-height:1.05;letter-spacing:1.7px;white-space:normal;margin-bottom:30px}.hero-word span{display:block}.hero-jp{font-size:15px;line-height:2;letter-spacing:.03em;max-width:270px}.hero-card{left:24px;bottom:35px;width:calc(81% - 45px);grid-template-columns:1fr;gap:0}.hero-card-label,.hero-card strong{width:100%;max-width:232px}.hero-card-label{font-size:15px;padding:8px 14px 0}.hero-card strong{font-size:23px;padding:0 14px 10px}.hero-card>p:last-child{font-size:15px;line-height:1.85;margin-top:16px}.hero-note{left:24px;top:28px;right:24px;max-width:250px;font-size:12px;line-height:1.7}.section{padding:76px 0}.section-label{font-size:22px;line-height:1.4;margin-bottom:28px}.section-title{font-size:28px;letter-spacing:1px;line-height:1.6}.intro-grid{display:flex;flex-direction:column;gap:0}.intro-grid>.reveal:not(.statement){display:contents}.intro-grid .section-label{order:-3}.philosophy-image{order:-2;margin:0 0 28px;width:100%;height:auto;aspect-ratio:1.5}.intro-grid .section-title{order:-1;margin:0;font-size:28px;line-height:1.6}.intro-grid .section-title br{display:block}.intro-grid .lede{margin-top:26px;font-size:15px;line-height:2}.numbers{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:32px 0 26px}.number-card{padding-right:8px}.num{font-size:54px}.cap{font-size:15px;overflow-wrap:anywhere;min-height:45px;letter-spacing:0}.number-card p{font-size:15px;line-height:1.8}.statement{display:block;padding-top:10px}.statement-block{padding:28px 0;border-bottom:1px solid var(--line)}.statement-block h3{font-size:18px;line-height:1.8;margin-bottom:12px}.statement-block p{font-size:15px;line-height:2}#practice{padding:20px 0 76px}.service-list{margin-top:36px}.service-item{display:grid;grid-template-columns:1fr;gap:0;padding:30px 0}.practice-photo{grid-column:1;grid-row:auto;aspect-ratio:1.5}.service-no{grid-column:1;grid-row:auto;padding-top:24px;font-size:15px}.service-item>div:last-child{grid-column:1;grid-row:auto;padding:16px 0 0}.service-item h3{font-size:22px;margin-bottom:16px}.service-item p{font-size:15px;line-height:2}#fees{padding:76px 0}.pricing-wrap{display:block}.pricing-wrap .section-label{margin-bottom:28px}.pricing-note{margin-top:28px;line-height:2}.pricing-grid{margin-top:50px;gap:30px 24px}.price-card h3{font-size:18px;min-height:54px}.tag{font-size:15px;overflow-wrap:anywhere}.price{font-size:32px}.price small{font-size:15px;margin-left:3px}.price-card p{font-size:15px;line-height:1.9}#photographs{padding:76px 0 0}.gallery-head{width:calc(100% - 40px);display:block;margin-bottom:38px}.gallery-head .section-label{margin-bottom:28px}.gallery-copy{margin-top:24px;font-size:15px;line-height:2}.gallery-grid{grid-template-columns:1fr}.gallery-stack{grid-template-columns:1fr 1fr}.gallery-stack .photo-card{aspect-ratio:.75}.photo-caption{left:12px;bottom:14px;padding:8px 10px;font-size:15px}#office{padding:76px 0 60px}.info-grid{grid-template-columns:1fr;gap:70px}.info-grid .section-label{font-size:39px;line-height:1.25;letter-spacing:.6px;margin-bottom:30px}.info-grid .section-title{font-size:24px}.info-row{grid-template-columns:85px 1fr;gap:15px}.info-row dt,.info-row dd{font-size:15px}.contact-box a{font-size:27px;padding:14px 24px}.access-text{font-size:15px;line-height:2}.footer-inner{width:calc(100% - 40px);grid-template-columns:1fr;gap:26px;font-size:15px}.brand-line{font-size:22px}#noren-direct-reception{min-height:750px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}

/* Final reference alignment: legible muted glass over the original consultation image. */
.opening-glass{background:rgba(28,39,48,.35)}
.hero-card>p:last-child{font-size:15px}
@media(min-width:1001px){#photographs{position:relative}.gallery-head{position:absolute;top:130px;left:max(32px,3vw);width:calc(50% - 76px);max-width:470px;display:block;margin:0;z-index:2}.gallery-head .section-label{font-size:24px;margin-bottom:14px}.gallery-head .section-title{font-size:28px;line-height:1.45}.gallery-copy{font-size:15px;line-height:1.8;margin-top:18px;max-width:430px}.gallery-grid>.photo-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.65) 65%,rgba(255,255,255,.08));pointer-events:none}.gallery-grid>.photo-card .photo-caption{z-index:3;bottom:16px}}
@media(max-width:700px){.opening-glass{background:rgba(20,26,30,.66)}}

/* Retry: preserve the archive's 52.1:47.9 glass split and lighter image plane.
   Japanese copy stays in the measured copy column; the extra source copy in
   the lower light area uses dark ink instead of white for readable contrast. */
.hero-card-label,.hero-card strong{background:#b4283f}
@media(min-width:1001px){
  .opening-art{background:#f0f3f5}
  .opening-art>img{filter:brightness(1.15) saturate(.65);opacity:.75}
  .opening-glass{background:linear-gradient(180deg,rgba(60,70,76,.25) 35%,rgba(38,48,56,.43) 76%,rgba(60,70,76,.12) 86%);backdrop-filter:blur(24px)}
  .hero-jp{font-size:18px;line-height:1.85;letter-spacing:.06em}
  .hero-card>p:last-child{color:#26313a}
}
.hero-card-label{font-size:15px}
@media(min-width:1001px) and (max-width:1199px){
  .hero{min-height:780px}
  .hero-copy{top:30%}
}
/* Keep the sample banner's metrics stable while the editorial font loads. */
.topbar{font-family:Arial,sans-serif}
.hero-card-label,.hero-card strong{align-self:stretch}
/* Public theme variables only; the shared reception widget is untouched. */
body #noren-direct-reception{
  --noren-accent:#b4283f;
  --noren-accent2:#913447;
  --noren-on-accent:#fff;
  --noren-font:'IBM Plex Sans JP',sans-serif;
}
