:root{--ink:#1b1b19;--orange:#ff651b;--paper:#f5f4ef}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;-webkit-font-smoothing:antialiased}header{max-width:1000px;margin:0 auto;height:65px;display:flex;align-items:center;gap:14px}a{color:inherit;text-decoration:none}.brand{font-size:35px;font-weight:900;letter-spacing:-2px}header>span{font-size:10px;font-weight:700}.header-right{margin-left:auto}main{max-width:1000px;margin:auto;padding-bottom:12px}.hero{border:3px solid var(--ink);border-radius:35px;overflow:hidden;background:var(--paper)}.hero-body{padding:25px 38px 16px;background-image:linear-gradient(#dededb 1px,transparent 1px),linear-gradient(90deg,#dededb 1px,transparent 1px);background-size:28px 28px}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:800;margin:0 0 10px}h1{font-size:clamp(36px,4.5vw,58px);font-weight:900;line-height:1.22;letter-spacing:-.04em;margin:0;position:relative;z-index:2}h1 br{display:none}h1 strong{color:var(--orange);font-size:1.22em;letter-spacing:-.06em}.stage{position:relative;height:355px;margin-top:20px}.orbit{position:absolute;width:390px;height:330px;right:-10px;top:0;border:2px dashed #c3c3bf;border-radius:50%;transform:rotate(-20deg)}.orbit:after{content:'';position:absolute;right:14px;bottom:60px;width:15px;height:15px;background:var(--orange);border:5px solid var(--paper);border-radius:50%;box-sizing:content-box}.visual{--reveal:0%;position:absolute;right:0;top:0;width:65%;height:310px;background:#afc8d7;overflow:hidden;border:3px solid var(--ink);border-radius:18px;box-shadow:7px 7px 0 #1b1b19;transform:rotate(1.5deg)}.scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 67%}.after{clip-path:inset(0 calc(100% - var(--reveal)) 0 0);will-change:clip-path}.split-line{position:absolute;top:0;bottom:0;left:var(--reveal);width:2px;background:#fffc;pointer-events:none;opacity:0}.split-line span{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;display:grid;place-items:center;background:white;border-radius:50%;box-shadow:0 2px 16px #0002;font-size:18px}#compare{position:absolute;inset:0;height:100%;width:100%;margin:0;opacity:0;cursor:ew-resize;z-index:3}.visual:focus-within{outline:3px solid var(--orange);outline-offset:3px}.view-label{position:absolute;right:12px;top:12px;background:var(--ink);color:white;padding:7px 9px;font-size:9px;letter-spacing:1px;pointer-events:none;border-radius:4px}.progress{position:absolute;bottom:0;width:100%;height:4px;background:#ffffff44}.progress span{display:block;height:100%;background:var(--orange);width:0}.terminal{position:absolute;top:45px;left:0;z-index:4;width:350px;background:var(--ink);color:#f6f4ed;padding:19px 23px 20px;border-radius:14px;box-shadow:0 14px 24px #0003;transform:rotate(-2deg)}.terminal-top{display:flex;align-items:center;justify-content:space-between;font:8px monospace;letter-spacing:1px;color:#8a8a83}.dots{display:flex;gap:6px}.dots i{width:9px;height:9px;background:#ff5833;border-radius:50%}.dots i:nth-child(2){background:#f9c742}.dots i:nth-child(3){background:#28aa57}.price-label{font-size:11px;color:#c1c1b7;margin-top:20px}.price-label>span{color:var(--orange);margin-right:7px;font:bold 15px monospace}.price{display:flex;align-items:baseline;gap:5px;margin-top:8px;white-space:nowrap;font-variant-numeric:tabular-nums}#price{font-size:44px;letter-spacing:-1.7px;line-height:1.15}.yen{font-size:21px;color:var(--orange)}.tax{font-size:9px;color:#c1c1b7}.terminal-status{color:#c6e36d;font-size:10px;margin-top:17px;display:flex;align-items:center;gap:6px}.cursor{display:inline-block;background:#c6e36d;width:5px;height:11px;animation:blink 1s steps(1) infinite}.caption{position:absolute;bottom:9px;left:0;font-size:22px;font-weight:900;line-height:1.9;transform:rotate(-2deg)}.caption>span{background:var(--ink);color:white;padding:5px 10px;box-decoration-break:clone}.caption em{font-style:normal;color:var(--orange)}.controls{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:0}.switch{display:flex;align-items:center;gap:8px}.switch button{min-height:37px;border:2px solid var(--ink);border-radius:20px;padding:8px 18px;font-size:9px;font-weight:800;background:var(--paper);letter-spacing:1px;color:var(--ink)}.switch button[aria-pressed=true]{background:var(--ink);color:white}.switch>span{font-size:16px}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}#autoplay{border:0;background:none;font-size:14px;min-width:44px;min-height:40px;display:flex;align-items:center;gap:6px;color:var(--ink)}#autoplay span{font-size:9px}.hero-footer{background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 35px}.hero-footer>span{font-size:33px;font-weight:900;font-style:italic;letter-spacing:-1.3px}.orange{color:var(--orange)}.hero-footer small{font-size:10px;line-height:1.7;color:#bfbfb5}.note{text-align:right;font-size:8px;color:#91918a;margin:7px 3px}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:3px}@keyframes blink{50%{opacity:0}}@media(max-width:1080px){header,main{margin-left:4%;margin-right:4%}}@media(max-width:700px){header{height:48px;gap:10px}.brand{font-size:28px}header>span{font-size:9px}.header-right{font-size:8px}.hero{border-width:2px;border-radius:24px}.hero-body{padding:18px 15px 10px;background-size:20px 20px}.eyebrow{font-size:9px;letter-spacing:.02em;margin-bottom:9px}h1{font-size:32px;line-height:1.25;letter-spacing:-.055em}h1 br{display:block}h1 strong{font-size:1.3em}.stage{height:clamp(245px,39svh,315px);margin-top:15px}.visual{width:83%;height:calc(100% - 26px);top:0;right:0;border-width:2px;border-radius:12px;box-shadow:4px 4px 0 var(--ink)}.scene{object-position:center bottom}.view-label{font-size:7px;top:8px;right:8px;padding:6px}.orbit{width:90%;height:90%;right:-6px;top:5px}.terminal{top:auto;bottom:4px;left:-3px;width:204px;padding:12px 14px 13px;border-radius:10px;box-shadow:0 8px 16px #0003}.terminal-top{font-size:6px;letter-spacing:.6px}.dots{gap:4px}.dots i{width:6px;height:6px}.price-label{font-size:8px;margin-top:10px}.price-label>span{font-size:11px;margin-right:4px}.price{gap:3px;margin-top:5px}#price{font-size:28px;letter-spacing:-1px}.yen{font-size:15px}.tax{font-size:6px}.terminal-status{font-size:7px;margin-top:9px;gap:4px}.cursor{height:8px;width:4px}.caption{display:none}.controls{justify-content:space-between;gap:8px;margin-top:8px}.switch{gap:5px}.switch button{min-height:36px;padding:8px 12px;font-size:8px;border-width:1.5px}.switch>span{font-size:14px}#autoplay{font-size:12px;gap:4px;min-height:36px}#autoplay span{font-size:8px}.hero-footer{padding:14px 16px}.hero-footer>span{font-size:24px;letter-spacing:-1px}.hero-footer small{font-size:7px;line-height:1.6}.note{font-size:7px;margin-top:6px}}@media(max-width:360px){h1{font-size:28px}.hero-body{padding-left:12px;padding-right:12px}.hero-footer>span{font-size:20px}.terminal{width:185px}#price{font-size:25px}.header-right{display:none}}@media(prefers-reduced-motion:reduce){.cursor{animation:none}}

/* Foreground headline, raised photo, original floating price placement. */
h1{z-index:6;pointer-events:none}
.stage{margin-top:-45px}
.visual{z-index:1}
.terminal{top:65px;z-index:4}
.view-label{top:auto;bottom:12px;right:12px}
@media(max-width:700px){
 .stage{margin-top:-33px}
 .terminal{top:auto;bottom:4px}
 .view-label{top:auto;bottom:10px;right:8px}
}

.caption{z-index:5;font-size:20px;white-space:nowrap}
@media(max-width:700px){.stage{margin-bottom:64px}.caption{display:block;bottom:-62px;left:0;font-size:14px;line-height:2.2;transform:rotate(-1deg)}.caption>span{padding:4px 8px}}
/* Separate text, imagery and price into normal-flow grid cells. */
h1{z-index:auto}
.stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);grid-template-rows:auto auto;gap:22px 28px;height:auto;margin:22px 0 0;align-items:center}
.orbit{display:none}
.visual{position:relative;grid-column:2;grid-row:1 / 3;top:auto;right:auto;width:100%;height:310px;transform:none;z-index:auto;box-shadow:4px 4px 0 var(--ink)}
.terminal{position:relative;grid-column:1;grid-row:1;top:auto;bottom:auto;left:auto;width:100%;height:auto;transform:none;z-index:auto;padding:18px 20px;align-self:end}
.terminal #price{font-size:38px}
.caption{position:relative;grid-column:1;grid-row:2;top:auto;bottom:auto;left:auto;transform:none;z-index:auto;font-size:18px;line-height:2.1;align-self:start;white-space:nowrap}
.view-label{display:none}
.controls{margin-top:20px}
@media(max-width:700px){
 .hero-body{padding:14px 14px 10px}
 .eyebrow{margin-bottom:7px}
 h1{font-size:29px;line-height:1.2}
 .stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:12px;margin:14px 0 0;height:auto}
 .visual{grid-column:1;grid-row:1;width:100%;height:clamp(155px,25svh,195px);top:auto;right:auto;border-radius:10px;box-shadow:3px 3px 0 var(--ink)}
 .scene{object-position:center 65%}
 .terminal{grid-column:1;grid-row:2;width:100%;height:auto;top:auto;bottom:auto;left:auto;padding:10px 14px;box-shadow:none;display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:center}
 .terminal-top{grid-column:1 / -1;font-size:7px;margin-bottom:4px}
 .price-label{margin:0;font-size:9px}
 .price{margin:0;gap:4px}
 .terminal #price{font-size:30px}
 .terminal-status{grid-column:1 / -1;margin-top:3px;font-size:7px}
 .caption{display:block;grid-column:1;grid-row:3;font-size:13px;line-height:2.1;bottom:auto;left:auto;transform:none}
 .caption>span{padding:3px 7px}
 .controls{margin-top:9px}
 .hero-footer{padding:12px 15px}
}
@media(max-width:360px){.terminal #price{font-size:26px}.price-label{font-size:8px}.caption{font-size:12px}}

.eyebrow{font-size:22px;font-weight:900;line-height:1.6;letter-spacing:0;margin:0 0 16px;color:#1b1b19}
@media(max-width:700px){.eyebrow{font-size:15px;line-height:1.6;letter-spacing:-.025em;margin-bottom:12px}}
@media(max-width:360px){.eyebrow{font-size:13px}}

/* Large photo with a compact price badge beside the headline. */
.headline-row{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:24px;align-items:center}
.headline-row h1{font-size:44px;line-height:1.3}
.headline-row .terminal{position:static;display:block;width:100%;height:auto;grid-column:auto;grid-row:auto;transform:none;padding:18px 20px;border:2px solid #ff651b;border-radius:22px;box-shadow:4px 4px 0 #ff651b}
.terminal-top,.terminal-status{display:none!important}
.headline-row .price-label{margin:0;font-size:12px;color:#fff}
.price-label>span{display:none}
.headline-row .price{margin-top:8px;gap:5px}
.headline-row .terminal #price{font-size:32px;letter-spacing:-1px}
.headline-row .yen{font-size:20px}.headline-row .tax{font-size:9px}
.stage{display:flex;flex-direction:column;gap:18px;margin-top:24px;align-items:stretch}
.visual{width:100%;height:clamp(330px,45svh,440px);grid-column:auto;grid-row:auto}
.scene{object-position:center 50%}
.caption{grid-column:auto;grid-row:auto;align-self:start;font-size:18px}
.controls{margin-top:12px}
@media(max-width:700px){
 .headline-row{grid-template-columns:minmax(0,1fr) 132px;gap:10px}
 .headline-row h1{font-size:25px;line-height:1.14;letter-spacing:-.04em}
 .headline-row h1 strong{font-size:1.3em}
 .title-end{display:block}
 .headline-row .terminal{padding:12px 9px;border-radius:17px;border-width:1.5px;box-shadow:3px 3px 0 #ff651b}
 .headline-row .price-label{font-size:9px;letter-spacing:0}
 .headline-row .price{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}
 .headline-row .terminal #price{font-size:21px;letter-spacing:-.7px}
 .headline-row .yen{font-size:13px}
 .headline-row .tax{font-size:8px;flex-basis:100%;text-align:right;margin-top:2px}
 .stage{margin:16px 0 0;gap:13px}
 .visual{height:clamp(220px,35svh,290px)}
 .scene{object-position:center bottom}
 .caption{font-size:13px}
 .controls{margin-top:9px}
}
@media(max-width:360px){.headline-row{grid-template-columns:minmax(0,1fr) 119px;gap:8px}.headline-row h1{font-size:23px}.headline-row .terminal #price{font-size:18px}.headline-row .terminal{padding:11px 8px}}

.headline-row h1{font-weight:900;line-height:1.35;letter-spacing:-.035em;-webkit-text-stroke:.7px currentColor}
.headline-line{display:block;white-space:nowrap}
.headline-row h1 strong{font-size:1em;font-weight:900;letter-spacing:inherit}
@media(max-width:700px){.headline-row h1{font-size:25px;line-height:1.45;-webkit-text-stroke:.55px currentColor}.headline-row h1 strong{font-size:1em}}
@media(max-width:360px){.headline-row h1{font-size:22px}}

.caption{display:flex;flex-direction:column;align-items:center;align-self:stretch;width:100%;background:var(--ink);padding:14px 12px;gap:5px;font-weight:900;font-size:34px;line-height:1.3;letter-spacing:.025em;white-space:nowrap;text-align:center}
.caption br{display:none}
.caption>span{display:block;width:100%;background:none;padding:0;color:#fff}
.caption>span:first-child{font-size:1.12em}
.caption em{color:#ff8a35;font-weight:900;font-style:normal}
@media(max-width:700px){.caption{font-size:23px;line-height:1.3;padding:10px 8px;gap:3px;letter-spacing:0}.caption>span{padding:0}.caption>span:first-child{font-size:clamp(23px,6.8vw,28px)}}
@media(max-width:360px){.caption{font-size:21px}.caption>span:first-child{font-size:22px}}
/* A slow warm gradient, limited to the planner name. */
.caption em{color:#ff8a35}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .caption em{background-image:linear-gradient(110deg,#ffab45 0%,#ff8534 25%,#ff582b 50%,#ff7930 75%,#ffab45 100%);background-size:240% 100%;background-position:0% 50%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:planner-gradient 6s ease-in-out infinite alternate}
}
@keyframes planner-gradient{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.caption em{animation:none;background-position:50% 50%}}
/* WHO WE ARE — individual character assets and scroll-led team cards. */
.who{margin-top:60px;background-color:#fff;background-image:linear-gradient(#e4e4e0 1px,transparent 1px),linear-gradient(90deg,#e4e4e0 1px,transparent 1px);background-size:30px 30px;padding:65px 0 0;overflow:clip}
.who-intro{text-align:center;padding:0 24px}.section-kicker{color:var(--orange);font-size:15px;font-weight:900;letter-spacing:.15em;font-style:italic;margin:0 0 23px}.who-intro .section-kicker:before,.who-intro .section-kicker:after{content:'';display:inline-block;vertical-align:middle;width:35px;height:3px;background:var(--orange);margin:0 16px}.who h2{font-size:clamp(28px,4.2vw,49px);font-weight:900;letter-spacing:-.055em;line-height:1.4;margin:0 0 30px}.who em{font-style:normal;color:var(--orange)}.who h2 em,.who-ending em{background:linear-gradient(110deg,#ff9d35,#ff4b23,#ff8a35);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:planner-gradient 6s ease-in-out infinite alternate}.who-statement{display:flex;flex-direction:column;align-items:center;gap:9px;margin:0;font-size:clamp(19px,3vw,31px);font-weight:900;line-height:1.5}.who-statement>span{background:var(--ink);color:#fff;padding:9px 16px;max-width:100%}.who-statement em{color:#ff8a35}
.planner-wrap{position:relative;width:min(500px,75%);margin:45px auto 0}.planner-card{border:3px solid var(--ink);border-radius:26px;overflow:hidden;box-shadow:0 9px 0 #1b1b19,0 20px 30px #0001;background:#fff}.planner-art{background:linear-gradient(130deg,#ff7b24,#ff481b);position:relative;padding-top:22px;overflow:hidden}.role-tag{margin:0;position:relative;z-index:1;color:white;font-size:clamp(17px,2.8vw,29px);font-weight:900;text-align:center;letter-spacing:-.035em}.planner-art img{display:block;width:100%;height:300px;object-fit:contain;margin-top:6px;transform-origin:center bottom;transition:transform .6s}.planner-card:hover img{transform:translateY(-3px) rotate(-1deg)}.planner-copy{border-top:3px solid var(--ink);text-align:center;padding:20px 12px;background:white}.planner-copy h3{font-size:21px;line-height:1.5;margin:0 0 12px;letter-spacing:-.025em}.coordinator-label{display:inline-block;border-radius:25px;background:linear-gradient(100deg,#ff882b,#ff4a23);color:white;padding:8px 24px;font-size:16px;font-weight:900}.planner-spark{position:absolute;top:45%;color:var(--orange);font-size:50px}.spark-left{left:-75px;transform:rotate(-12deg)}.spark-right{right:-75px;transform:rotate(12deg)}.mobile-only{display:none}.team-bridge{height:65px;position:relative;width:72%;margin:auto;border-bottom:4px solid var(--orange);border-radius:0 0 25px 25px}.team-bridge:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:4px;background:var(--orange)}.team-connect{text-align:center;font-weight:800;font-size:18px;line-height:1.7;margin:24px 15px 35px}.team-journey{position:relative;height:170svh;min-height:1050px}.team-sticky{position:sticky;top:25px;padding:20px 20px 28px;background:#fffef9ed;backdrop-filter:blur(8px);border-top:1px solid #dddcd3;border-bottom:1px solid #dddcd3}.team-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 24px}.team-heading .section-kicker{font-size:10px;margin:0}.team-heading h3{font-size:24px;margin:9px 0 0;letter-spacing:-.025em}.scroll-cue{font-size:9px;letter-spacing:1px;color:#77776c}.team-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;padding:4px 4px 14px;scroll-behavior:auto;outline-offset:2px}.team-viewport::-webkit-scrollbar{display:none}.team-track{display:flex;gap:22px;width:max-content}.team-card{width:310px;flex-shrink:0;overflow:hidden;border:3px solid var(--ink);border-radius:22px;background:#fff;box-shadow:0 6px 0 #1b1b19;transition:transform .4s}.team-card:hover{transform:translateY(-3px)}.team-art{padding-top:20px;background:var(--card-color);overflow:hidden}.team-art h4{margin:0;color:#171815;text-align:center;font-size:25px;font-weight:900;letter-spacing:-.03em}.team-art img{display:block;height:240px;width:100%;object-fit:contain;margin:8px 0 0}.realtor{--card-color:#7cafff}.architect{--card-color:#8fd0a0}.builder{--card-color:#ffd45e}.landscaper{--card-color:#bc96ed}.team-copy{text-align:center;border-top:3px solid var(--ink);padding:18px 10px}.team-copy>span{font-size:9px;letter-spacing:1.5px;color:#85857a;font-weight:700}.team-copy p{font-size:19px;line-height:1.5;font-weight:900;margin:9px 0 0}.team-nav{display:flex;align-items:center;justify-content:center;gap:17px;margin-top:20px}.team-nav button{border:2px solid var(--ink);width:43px;height:43px;border-radius:50%;background:white;font-size:22px;display:grid;place-items:center}.team-nav button:hover{background:var(--orange);color:white}.team-nav button:disabled{opacity:.3;cursor:default}.team-progress{height:4px;width:140px;background:#dadad1;overflow:hidden;border-radius:10px}.team-progress span{display:block;width:25%;height:100%;background:var(--orange);border-radius:10px}.team-counter{font-size:11px;font-variant-numeric:tabular-nums;min-width:45px}.team-help{text-align:center;font-size:10px;color:#74746b;line-height:1.6;margin:14px 0 0}.who-ending{text-align:center;padding:30px 20px 65px}.who-ending p{font-size:clamp(24px,3.7vw,40px);line-height:1.7;font-weight:900;margin:0 0 25px;letter-spacing:-.025em}.who-ending .brand{display:block}.back-top{display:inline-block;margin-top:24px;border-bottom:1px solid var(--ink);padding-bottom:8px;font-size:12px}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:700px){.who{margin-top:40px;padding-top:42px;background-size:22px 22px}.who-intro{padding:0 6px}.section-kicker{font-size:12px;margin-bottom:20px}.who-intro .section-kicker:before,.who-intro .section-kicker:after{width:20px;margin:0 9px}.who h2{font-size:25px;margin-bottom:23px}.who h2 span{display:block;font-size:23px}.who-statement{font-size:17px;gap:7px;letter-spacing:-.04em}.who-statement>span{padding:8px 9px}.planner-wrap{width:85%;margin-top:30px}.planner-card{border-width:2px;border-radius:20px;box-shadow:0 6px 0 #1b1b19,0 15px 24px #0001}.planner-art{padding-top:18px}.role-tag{font-size:21px}.planner-art img{height:220px}.planner-copy{border-top-width:2px;padding:15px 8px}.planner-copy h3{font-size:17px;line-height:1.5;margin-bottom:10px}.coordinator-label{font-size:13px;padding:7px 16px}.planner-spark{font-size:26px}.spark-left{left:-24px}.spark-right{right:-24px}.mobile-only{display:block}.team-bridge{height:42px;border-width:3px;width:70%}.team-bridge:before{width:3px}.team-connect{font-size:15px;margin:19px 8px 25px}.team-journey{height:155svh;min-height:850px}.team-sticky{top:12px;padding:18px 7px 20px}.team-heading{margin-bottom:18px;gap:8px;align-items:start}.team-heading h3{font-size:18px}.team-heading .section-kicker{font-size:8px}.scroll-cue{font-size:7px;max-width:65px;line-height:1.6;text-align:right}.team-track{gap:15px}.team-card{width:245px;border-width:2px;border-radius:18px}.team-art{padding-top:16px}.team-art h4{font-size:21px}.team-art img{height:190px}.team-copy{border-width:2px;padding:13px 8px}.team-copy p{font-size:17px;margin-top:7px}.team-copy>span{font-size:8px}.team-nav{gap:12px;margin-top:14px}.team-progress{width:100px}.team-nav button{width:40px;height:40px}.team-help{font-size:8px;margin-top:12px}.who-ending{padding:25px 10px 45px}.who-ending p{font-size:23px;line-height:1.65}.back-top{font-size:11px}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1;transform:none;transition:none}.who h2 em,.who-ending em{animation:none}.team-journey{height:auto;min-height:0}.team-sticky{position:relative;top:auto}.team-card,.planner-art img{transition:none}.scroll-cue{display:none}}
.planner-art img{transform:scale(1.3);transform-origin:center center}
.planner-card:hover img{transform:translateY(-3px) scale(1.3)}
.team-art img{transform:scale(1.1);transform-origin:center bottom}
@media(max-width:700px){.planner-art img{transform:scale(1.22)}.planner-card:hover img{transform:translateY(-2px) scale(1.22)}}
/* Soft moving gradients across the WHO WE ARE section. */
.who{background-image:linear-gradient(#dfdfdb99 1px,transparent 1px),linear-gradient(90deg,#dfdfdb99 1px,transparent 1px),linear-gradient(125deg,#fffaf2,#fff2e8,#f6f2ff,#fffaf2);background-size:30px 30px,30px 30px,260% 260%;animation:who-ambient 18s ease-in-out infinite alternate}
.who .section-kicker{background:linear-gradient(100deg,#ff9a28,#f44924,#ff782b);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:planner-gradient 5s ease-in-out infinite alternate}
.who h2 em,.who-ending em{background-size:300% 100%;animation-duration:4.5s}
.planner-card{animation:planner-float 5.5s ease-in-out infinite}
.planner-art{background:linear-gradient(125deg,#ffae35 0%,#ff7924 35%,#ff4520 70%,#ff982e 100%);background-size:240% 240%;animation:card-gradient 7s ease-in-out infinite alternate}
.planner-art:after{content:'';position:absolute;inset:-50% -70%;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#fff3 49%,transparent 58%);transform:translateX(-70%);animation:planner-sheen 8s ease-in-out infinite;z-index:2}
.coordinator-label{background:linear-gradient(110deg,#ff9d2b,#ff4822,#ff902d);background-size:250% 100%;animation:planner-gradient 4.5s ease-in-out infinite alternate}
.planner-spark{animation:spark-breathe 4s ease-in-out infinite}.spark-right{animation-delay:-2s}
.realtor .team-art{background-image:linear-gradient(125deg,#82c9ff,#6e99ff,#99dbef)}
.architect .team-art{background-image:linear-gradient(125deg,#b3e5a0,#75cda6,#98dcd2)}
.builder .team-art{background-image:linear-gradient(125deg,#ffdf78,#ffbd59,#ffe695)}
.landscaper .team-art{background-image:linear-gradient(125deg,#c4a6ff,#a691ef,#ecb9e9)}
.team-art{background-size:240% 240%;animation:card-gradient 8s ease-in-out infinite alternate}
.architect .team-art{animation-delay:-2s}.builder .team-art{animation-delay:-4s}.landscaper .team-art{animation-delay:-6s}
.team-progress span{background:linear-gradient(90deg,#ff9a2c,#ff4e25,#ff9a2c);background-size:200% 100%;animation:planner-gradient 3s ease-in-out infinite alternate}
.scroll-cue{animation:cue-bob 2.8s ease-in-out infinite}
.who,.who .section-kicker,.who h2 em,.who-ending em,.planner-card,.planner-art,.planner-art:after,.coordinator-label,.planner-spark,.team-art,.team-progress span,.scroll-cue{animation-play-state:paused}
.who.is-motion-active,.who.is-motion-active .section-kicker,.who.is-motion-active h2 em,.who.is-motion-active .who-ending em,.who.is-motion-active .planner-card,.who.is-motion-active .planner-art,.who.is-motion-active .planner-art:after,.who.is-motion-active .coordinator-label,.who.is-motion-active .planner-spark,.who.is-motion-active .team-art,.who.is-motion-active .team-progress span,.who.is-motion-active .scroll-cue{animation-play-state:running}
@keyframes who-ambient{from{background-position:0 0,0 0,0% 20%}to{background-position:0 0,0 0,100% 80%}}
@keyframes card-gradient{from{background-position:0% 20%}to{background-position:100% 80%}}
@keyframes planner-float{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-7px) rotate(.4deg)}}
@keyframes planner-sheen{0%,25%{transform:translateX(-70%)}65%,100%{transform:translateX(70%)}}
@keyframes spark-breathe{0%,100%{opacity:.65;scale:.85}50%{opacity:1;scale:1.12}}
@keyframes cue-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media(max-width:700px){.who{background-size:22px 22px,22px 22px,260% 260%}}
@media(prefers-reduced-motion:reduce){.who,.who *,.who *:after{animation:none!important}.planner-card{transform:none}}

.home-flow{width:88%;margin:32px auto 0;padding:16px 26px 20px;border:3px solid var(--ink);border-radius:18px;background:linear-gradient(110deg,#ffac36,#ff7528,#ff4f25);background-size:240% 100%;box-shadow:5px 5px 0 var(--ink);animation:planner-gradient 7s ease-in-out infinite alternate;animation-play-state:paused}
.who.is-motion-active .home-flow{animation-play-state:running}
.flow-title{text-align:center;font-size:12px;font-weight:800;letter-spacing:.15em;margin:0 0 12px;color:var(--ink)}
.flow-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:16px;list-style:none;padding:0;margin:0;text-align:center}
.flow-steps li{display:flex;flex-direction:column;align-items:center;gap:4px}
.flow-steps small{font-size:10px;font-weight:800;letter-spacing:.1em;color:#3b2116}
.flow-steps strong{font-size:39px;font-weight:900;color:#fff;line-height:1.25;text-shadow:0 2px 0 #0002;letter-spacing:.06em}
.flow-steps .flow-arrow{font-size:38px;font-weight:700;color:white;animation:flow-forward 2.8s ease-in-out infinite;animation-play-state:paused}
.flow-steps .flow-arrow:nth-child(4){animation-delay:.35s}
.who.is-motion-active .flow-arrow{animation-play-state:running}
@keyframes flow-forward{0%,100%{transform:translateX(-3px);opacity:.65}50%{transform:translateX(3px);opacity:1}}
@media(max-width:700px){.home-flow{width:92%;margin-top:25px;padding:12px 10px 15px;border-width:2px;border-radius:13px;box-shadow:3px 3px 0 var(--ink)}.flow-title{font-size:10px;margin-bottom:9px}.flow-steps{gap:6px}.flow-steps small{font-size:6px;letter-spacing:.02em}.flow-steps strong{font-size:27px;letter-spacing:0}.flow-steps .flow-arrow{font-size:23px}}
@media(prefers-reduced-motion:reduce){.home-flow,.flow-arrow{animation:none!important}}
/* WHY PLANNER — dark grid, moving ribbon and five planning perspectives. */
.why-planner{margin-top:0;overflow:hidden;background-color:#1b1917;background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px);background-size:35px 35px;color:white}
.why-marquee{background:linear-gradient(100deg,#ff922b,#ff4b1e,#ff7929);background-size:230% 100%;padding:18px 0;border-top:3px solid #1b1917;border-bottom:3px solid #1b1917;overflow:hidden;animation:planner-gradient 7s ease-in-out infinite alternate}
.why-marquee>div{display:flex;width:max-content;animation:why-marquee 26s linear infinite}.why-marquee span{white-space:nowrap;flex:none;font-size:24px;font-style:italic;font-weight:900;letter-spacing:.02em;padding-right:22px}
.why-body{padding:70px 65px}.why-kicker{text-align:center;font-size:16px;font-weight:900;letter-spacing:.17em;color:#ff6c29;margin:0 0 35px}.why-planner h2{font-family:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;font-size:38px;font-weight:900;line-height:1.85;text-align:center;margin:0}.why-accent{display:block;font-family:Arial,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-size:1.18em;line-height:1.5;background:linear-gradient(100deg,#ffac36,#ff5125,#ff8d2f);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:planner-gradient 5s ease-in-out infinite alternate;letter-spacing:-.03em}.why-summary{position:relative;background:#fff;border-radius:27px;padding:28px 20px 33px;margin:48px auto 40px;text-align:center;color:#1b1917;max-width:740px}.why-summary:before{content:'';position:absolute;top:-30px;left:50%;width:3px;height:50px;background:#ff8c25}.why-summary>p{font-size:25px;font-weight:900;margin:0 0 12px;background:linear-gradient(100deg,#ff992e,#ff4a24);background-clip:text;-webkit-background-clip:text;color:transparent}.why-summary h3{font-size:26px;line-height:1.8;margin:0;font-weight:900}.why-mark{background:linear-gradient(transparent 71%,#c7f83d 71%,#c7f83d 94%,transparent 94%);padding:0 7px}.why-mark b{font-size:1.9em;color:#ff6626;line-height:1;font-style:italic;margin-right:4px}.why-points{list-style:none;margin:0;padding:0;display:grid;gap:0}.why-points li{display:flex;gap:22px;padding:24px 8px;border-bottom:1px solid #ffffff26;align-items:flex-start}.why-points li:last-child{border-bottom:0}.why-points li>span{color:#ff8b31;font-size:30px;line-height:1.1;font-weight:900;font-style:italic;min-width:42px}.why-points h4{font-size:20px;margin:0 0 8px;line-height:1.4}.why-points p{font-size:12px;line-height:1.9;color:#c6c3bd;margin:0}.why-marquee:hover>div{animation-play-state:paused}
@keyframes why-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){.why-marquee{padding:13px 0;border-width:2px}.why-marquee span{font-size:18px}.why-body{padding:42px 16px 30px}.why-kicker{font-size:11px;margin-bottom:23px;letter-spacing:.12em}.why-planner h2{font-size:23px;line-height:1.9;letter-spacing:-.035em}.why-accent{font-size:26px;line-height:1.6;white-space:nowrap}.why-summary{margin:37px 0 23px;padding:23px 10px 24px;border-radius:18px}.why-summary:before{top:-22px;height:35px;width:2px}.why-summary>p{font-size:19px;margin-bottom:8px}.why-summary h3{font-size:19px;line-height:1.8}.why-points li{padding:20px 2px;gap:12px}.why-points li>span{font-size:24px;min-width:30px}.why-points h4{font-size:16px;margin-bottom:7px}.why-points p{font-size:11px;line-height:1.8}}
@media(max-width:360px){.why-accent{font-size:23px}.why-planner h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.why-marquee,.why-marquee>div,.why-accent{animation:none}}
/* From planning advice to the home-building preparation offer. */
.start-planner{background-color:#1b1917;background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px);background-size:35px 35px;color:#fff;border-top:1px solid #ffffff1c;overflow:hidden}.start-inner{text-align:center;padding:65px 55px 48px}.start-eyebrow{font-size:28px;font-weight:900;margin:0 0 18px}.start-planner h2{font-size:43px;line-height:1.6;margin:0;font-weight:900;letter-spacing:-.035em}.start-planner h2 em{font-size:1.18em;font-style:normal;background:linear-gradient(100deg,#ffac35,#ff4c23,#ff912b);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:planner-gradient 5s ease-in-out infinite alternate}.start-character{position:relative;width:min(500px,85%);margin:15px auto 0;isolation:isolate}.start-character img{position:relative;display:block;width:100%;height:auto;z-index:1;animation:start-float 5s ease-in-out infinite}.start-glow{position:absolute;inset:10%;border-radius:50%;background:radial-gradient(ellipse,#ff8d2077,transparent 70%);filter:blur(18px);animation:start-glow 6s ease-in-out infinite alternate}.start-message{font-size:19px;line-height:1.7;font-weight:700;margin:4px 0 28px}.offer-cta{position:relative;display:flex;align-items:center;justify-content:center;gap:22px;max-width:680px;margin:auto;padding:23px 32px;border:3px solid white;border-radius:70px;background:linear-gradient(105deg,#ff9b25,#ff4b1f,#ff8528);background-size:230% 100%;box-shadow:0 0 0 4px #ff5a25,0 15px 35px #ff651b25;color:white;font-size:27px;font-weight:900;line-height:1.5;animation:planner-gradient 6s ease-in-out infinite alternate}.offer-cta small{display:block;font-size:15px;letter-spacing:.1em}.offer-cta b{display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;background:white;color:#ff6024;border-radius:50%;font-size:24px;animation:cue-bob 2.8s ease-in-out infinite}.offer-cta:hover{filter:brightness(1.08)}.start-next{font-size:11px;line-height:1.7;color:#c8c4bc;margin:23px 0 0}.preparation-offer{position:relative;text-align:center;padding:55px 50px 40px;background-color:#fff9f0;background-image:linear-gradient(#eaded066 1px,transparent 1px),linear-gradient(90deg,#eaded066 1px,transparent 1px);background-size:30px 30px;scroll-margin-top:20px}.offer-bridge{position:absolute;top:-21px;left:calc(50% - 24px);width:48px;height:48px;border:2px solid #1b1917;border-radius:50%;background:#ff842a;color:white;font-size:28px;display:grid;place-items:center}.offer-card{border:3px solid #1b1917;border-radius:25px;padding:35px 22px;background:linear-gradient(130deg,#fff,#fff2da);box-shadow:7px 7px 0 #ff8a2d;max-width:760px;margin:auto}.offer-kicker{font-size:16px;font-weight:800;margin:0 0 20px}.offer-card h2{font-size:34px;line-height:1.55;letter-spacing:-.035em;margin:0}.offer-card h2>span{background:#1b1917;color:white;padding:7px 13px;box-decoration-break:clone}.offer-card h2 strong{display:inline-block;font-size:2.05em;font-weight:900;line-height:1.6;background:linear-gradient(100deg,#ff9d26,#ff4c20,#ff8529);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:planner-gradient 5s ease-in-out infinite alternate}.offer-rule{width:60px;height:4px;background:#ff7627;margin:7px auto 22px}.offer-message{font-size:24px;line-height:1.8;font-weight:900;margin:0 0 17px}.offer-description{font-size:14px;line-height:1.9;color:#6e6458;margin:0}.offer-terms{font-size:10px;line-height:1.7;color:#8b8072;margin:24px 0 0}.offer-return{display:inline-block;border-bottom:1px solid #9e8a72;padding-bottom:6px;font-size:12px;margin-top:30px}@keyframes start-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes start-glow{from{opacity:.55;transform:scale(.9)}to{opacity:1;transform:scale(1.12)}}
@media(max-width:700px){.start-inner{padding:40px 20px 32px}.start-eyebrow{font-size:20px;margin-bottom:12px}.start-planner h2{font-size:27px;line-height:1.7}.start-planner h2 em{font-size:27px;white-space:nowrap;letter-spacing:-.05em}.start-character{width:95%;margin-top:6px}.start-message{font-size:15px;margin:0 0 24px;line-height:1.7}.offer-cta{padding:16px 12px;gap:10px;font-size:18px;border-width:2px;box-shadow:0 0 0 3px #ff5a25,0 12px 25px #ff651b25}.offer-cta small{font-size:10px;letter-spacing:.04em}.offer-cta b{width:28px;height:28px;font-size:20px}.start-next{font-size:9px;margin-top:18px}.preparation-offer{padding:42px 15px 28px;background-size:22px 22px}.offer-bridge{width:39px;height:39px;left:calc(50% - 19.5px);top:-19px;font-size:23px}.offer-card{border-width:2px;border-radius:19px;padding:25px 12px;box-shadow:4px 4px 0 #ff8a2d}.offer-kicker{font-size:12px;margin-bottom:18px}.offer-card h2{font-size:24px;line-height:1.6}.offer-card h2>span{padding:5px 8px}.offer-card h2 strong{font-size:2.1em}.offer-rule{height:3px;width:45px;margin:4px auto 16px}.offer-message{font-size:18px;line-height:1.8;margin-bottom:13px}.offer-description{font-size:12px;line-height:1.85}.offer-terms{font-size:8px;margin-top:18px}.offer-return{font-size:10px;margin-top:25px}}
@media(max-width:360px){.start-planner h2 em{font-size:24px}.offer-cta{font-size:16px}.offer-card h2{font-size:21px}.offer-message{font-size:16px}}
@media(prefers-reduced-motion:reduce){.start-planner *,.preparation-offer *{animation:none!important}}

.who-ending .planner-brand{font-size:clamp(20px,4.2vw,42px);font-weight:900;letter-spacing:-.055em;line-height:1.5;overflow-wrap:anywhere}

.shop-cta{display:flex;align-items:center;justify-content:center;gap:15px;max-width:680px;margin:24px auto 0;padding:23px 20px;border:3px solid #fff;border-radius:70px;background:#1b1917;color:#fff;font-size:25px;font-weight:900;line-height:1.5;text-decoration:none;transition:background .2s}.shop-cta b{color:#ff8528;font-size:27px}.shop-cta:hover{background:#33261d}.offer-cta:focus-visible,.shop-cta:focus-visible{outline:3px solid #ffb44d;outline-offset:7px}@media(max-width:700px){.shop-cta{margin-top:20px;padding:18px 10px;gap:8px;border-width:2px;font-size:clamp(13px,3.8vw,18px)}.shop-cta b{font-size:20px}}

.team-promise{overflow:hidden;border:3px solid #1b1917;border-radius:40px;background:#f5f5f2;max-width:960px;margin:0 auto 20px}.who .team-promise h2{padding:50px 20px 0;margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(19px,4.6vw,45px);font-weight:900;line-height:1.65;letter-spacing:-.045em}.team-promise h2>span{display:block;white-space:nowrap}.promise-team{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:center;min-height:290px;padding:25px 12px 0}.promise-team img{position:relative;z-index:1;object-fit:contain;width:20%;height:auto;display:block;margin:0 -2.8%;filter:drop-shadow(0 5px 4px #0001)}.promise-team .promise-lead{width:42%;z-index:2;margin:0 -6%;animation:start-float 5s ease-in-out infinite}.promise-orbit{position:absolute;z-index:0;border:3px dashed #c9c9c4;border-radius:50%;width:58%;aspect-ratio:1;left:21%;bottom:10px}.promise-brand{display:flex;align-items:center;justify-content:center;gap:25px;background:#1b1917;color:white;padding:25px 15px}.promise-brand strong{font-size:clamp(35px,6vw,65px);letter-spacing:-.07em}.promise-brand span{font-size:clamp(14px,2.7vw,28px);font-weight:900;color:#ff8531}.who-ending:has(.team-promise){padding-left:12px;padding-right:12px}@media(max-width:700px){.team-promise{border-width:2px;border-radius:27px}.who .team-promise h2{padding:30px 8px 0;font-size:clamp(17px,4.7vw,31px)}.promise-team{min-height:190px;padding-top:35px;padding-bottom:5px}.promise-orbit{border-width:2px}.promise-brand{padding:17px 10px;gap:13px}.promise-brand strong{font-size:36px}.promise-brand span{font-size:14px}}@media(prefers-reduced-motion:reduce){.promise-team .promise-lead{animation:none}}

.page-closing{padding:42px 0 0;background-color:#f5f4ef;background-image:linear-gradient(#24221e0d 1px,transparent 1px),linear-gradient(90deg,#24221e0d 1px,transparent 1px);background-size:35px 35px}.page-closing .team-promise h2{padding:50px 20px 0;margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(19px,4.6vw,45px);font-weight:900;line-height:1.65;letter-spacing:-.045em}.page-closing .team-promise em{font-style:normal;background:linear-gradient(110deg,#ff9d35,#ff4b23,#ff8a35);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:planner-gradient 6s ease-in-out infinite alternate}@media(max-width:700px){.page-closing{padding-top:25px}.page-closing .team-promise h2{padding:30px 8px 0;font-size:clamp(17px,4.7vw,31px)}}@media(prefers-reduced-motion:reduce){.page-closing .team-promise em{animation:none}}

/* Compact closing banner with a rotating dashed orbit. */
.page-closing{padding-top:18px}
.page-closing .who-ending{padding-top:12px;padding-bottom:25px}
.page-closing .team-promise h2{position:relative;z-index:3;padding:30px 14px 0;font-size:clamp(24px,6.1vw,60px);line-height:1.4;letter-spacing:-.065em}
.page-closing .promise-team{min-height:0;padding:8px 10px 0;margin-top:8px}
.page-closing .promise-team img{width:22%;margin:0 -3%}
.page-closing .promise-team .promise-lead{width:46%;margin:0 -5%}
.page-closing .promise-orbit{width:46%;left:27%;bottom:2px;animation:promise-orbit-spin 24s linear infinite;transform-origin:center;pointer-events:none}
.page-closing .promise-brand{padding:18px 14px}
@keyframes promise-orbit-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:700px){.page-closing{padding-top:12px}.page-closing .team-promise h2{padding:23px 7px 0;font-size:clamp(20px,6.1vw,42px);line-height:1.45}.page-closing .promise-team{padding:3px 6px 0;margin-top:6px;min-height:0}.page-closing .promise-brand{padding:14px 9px}}
@media(prefers-reduced-motion:reduce){.page-closing .promise-orbit{animation:none}}

/* Balance the logo and planner name as one horizontal lockup. */
.page-closing .promise-brand{align-items:baseline;gap:clamp(10px,2vw,20px);padding:20px 14px 23px}
.page-closing .promise-brand strong{font-size:clamp(30px,7.8vw,60px);line-height:1;flex-shrink:0}
.page-closing .promise-brand span{font-size:clamp(16px,4.3vw,32px);line-height:1.2;letter-spacing:-.045em;white-space:nowrap;font-weight:900}
@media(max-width:700px){.page-closing .promise-brand{gap:10px;padding:18px 10px 21px}.page-closing .promise-brand strong{font-size:clamp(25px,8vw,44px)}.page-closing .promise-brand span{font-size:clamp(13px,4.4vw,24px)}}

@media(max-width:700px){.headline-row .terminal #price{font-size:19px;letter-spacing:-.8px}.headline-row .price{column-gap:2px}}@media(max-width:360px){.headline-row .terminal #price{font-size:17px;letter-spacing:-.9px}}

/* Let the two-line headline fill the space beside the price badge. */
.headline-row h1{container-type:inline-size;min-width:0;line-height:1.3;letter-spacing:-.045em}
.headline-row h1 .headline-line{font-size:min(70px,17cqw);line-height:1.3}
@media(max-width:700px){.headline-row{gap:8px}.headline-row h1 .headline-line{font-size:17cqw;line-height:1.4}}

/* First-view choreography: staggered type, then price, photo and support. */
.hero .eyebrow{animation:hero-type-in .7s cubic-bezier(.16,1,.3,1) .05s both}
.hero .headline-line{animation:hero-type-in .9s cubic-bezier(.16,1,.3,1) .18s both}
.hero .headline-line:nth-child(2){animation-delay:.38s}
.hero .headline-row .terminal{animation:hero-badge-in .8s cubic-bezier(.16,1,.3,1) .55s both; background:linear-gradient(#1b1b19,#1b1b19) padding-box,linear-gradient(125deg,#ffbf3f,#ff4a20,#ff9634) border-box;border-color:transparent;box-shadow:4px 4px 0 #ff7229,0 8px 24px #ff6b2520}
.hero .visual{animation:hero-photo-in 1s cubic-bezier(.16,1,.3,1) .7s both}
.hero .caption>span{animation:hero-type-in .8s cubic-bezier(.16,1,.3,1) .95s both}
.hero .caption>span:last-child{animation-delay:1.1s}
.hero .headline-row h1 strong,.hero .caption em,.hero-footer .orange{background-image:linear-gradient(100deg,#ffb329 0%,#ff741b 22%,#ff3f24 48%,#ff9c24 73%,#ffc04b 100%);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:0;animation:hero-color-flow 3.5s ease-in-out infinite alternate}
.hero .caption em{background-image:linear-gradient(100deg,#ffd167,#ff952f,#ff5a36,#ffad3d,#ffe194)}
.hero .hero-body{background-image:linear-gradient(#dededb 1px,transparent 1px),linear-gradient(90deg,#dededb 1px,transparent 1px),radial-gradient(ellipse at 95% 4%,#ffab3429,transparent 50%),radial-gradient(ellipse at 4% 85%,#ff58241a,transparent 55%);background-size:28px 28px,28px 28px,100% 100%,100% 100%}
@keyframes hero-type-in{from{opacity:0;transform:translateY(24px) skewY(3deg);filter:blur(5px)}to{opacity:1;transform:translateY(0) skewY(0);filter:blur(0)}}
@keyframes hero-badge-in{from{opacity:0;transform:translateX(22px) scale(.92)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes hero-photo-in{from{opacity:0;translate:0 25px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
@keyframes hero-color-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(max-width:700px){.hero .hero-body{background-size:20px 20px,20px 20px,100% 100%,100% 100%}}
@media(prefers-reduced-motion:reduce){.hero .eyebrow,.hero .headline-line,.hero .headline-row .terminal,.hero .visual,.hero .caption>span,.hero .headline-row h1 strong,.hero .caption em,.hero-footer .orange{animation:none!important;opacity:1;filter:none}}

.home-flow{cursor:pointer;transition:box-shadow .5s,background-color .5s}.flow-title{display:block;width:100%;border:0;background:none;padding:0;min-height:24px;font-family:inherit}.home-flow.is-reverse{background-image:linear-gradient(110deg,#ffbb45,#ff652b,#ed3b58);box-shadow:5px 5px 0 var(--ink),0 0 26px #ff672333}.flow-steps .flow-arrow{transition:scale .6s ease;scale:1 1}.home-flow.is-reverse .flow-arrow{scale:-1 1}.home-flow.is-reverse .flow-steps li:last-child strong{text-shadow:0 0 18px #fff9,0 2px 0 #0002}.home-flow .flow-title{letter-spacing:.06em}.home-flow.is-reverse .flow-title{font-weight:900}@media(prefers-reduced-motion:reduce){.home-flow,.flow-steps .flow-arrow{transition:none}}

/* A one-second cadence with a physical card flip at each change. */
.home-flow.is-flipping{animation:flow-card-flip 1.2s ease-in-out both!important;animation-play-state:running!important;transform-origin:center;will-change:transform}
.home-flow .flow-title{font-size:clamp(15px,2.7vw,25px);line-height:1.4;min-height:36px;letter-spacing:.04em;transition:color .2s}
.home-flow.is-reverse .flow-title{color:#fff;text-shadow:0 2px 0 #a83719;font-weight:900;text-decoration:underline;text-decoration-color:#ffe579;text-decoration-thickness:4px;text-underline-offset:5px}
@keyframes flow-card-flip{0%{transform:perspective(1000px) rotateX(0deg)}49.99%{transform:perspective(1000px) rotateX(90deg)}50%{transform:perspective(1000px) rotateX(-90deg)}100%{transform:perspective(1000px) rotateX(0deg)}}
@media(max-width:700px){.home-flow .flow-title{font-size:17px;min-height:29px;margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.home-flow.is-flipping{animation:none!important}.home-flow .flow-title{transition:none}}

/* Official textbook anchors the WHY PLANNER summary. */
.why-book-layout{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:32px;align-items:center;padding:18px 14px 0;text-align:left}
.planner-book{margin:0;min-width:0;perspective:900px}
.planner-book img{display:block;width:100%;height:auto;border:1px solid #d5d9d2;border-radius:2px 5px 5px 2px;box-shadow:5px 5px 0 #dde1d8,12px 16px 25px #15371f29;transform:rotate(-4deg);transition:transform .6s ease}
.planner-book:hover img{transform:rotate(0deg) translateY(-4px)}
.planner-book figcaption{margin-top:19px;text-align:center;font-size:10px;line-height:1.6;color:#687463}
.book-kicker{display:inline-block;color:#327348;font-size:12px;font-weight:800;line-height:1.6;padding-bottom:8px;border-bottom:2px solid #dce9dc}
.why-book-copy .book-message{font-size:25px;font-weight:900;line-height:1.6;letter-spacing:-.035em;margin:18px 0 22px}
.why-book-copy h3{font-size:23px;line-height:1.8}
@media(max-width:700px){.why-book-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:17px;padding:14px 5px 0}.why-summary{padding:24px 12px}.book-kicker{font-size:9px;padding-bottom:6px;letter-spacing:-.035em}.why-book-copy .book-message{font-size:16px;line-height:1.65;margin:12px 0 16px;letter-spacing:-.05em}.why-book-copy h3{font-size:14px;letter-spacing:-.045em}.planner-book figcaption{font-size:8px;margin-top:15px}.why-book-copy .why-mark{padding:0 2px;white-space:nowrap}.why-book-copy .why-mark b{font-size:2.1em;margin-right:2px}}
@media(prefers-reduced-motion:reduce){.planner-book img{transition:none}}

/* Keep both actions comfortably inside the preparation offer card. */
.offer-card .offer-actions{display:flex;flex-direction:column;gap:18px;margin:28px auto 0;padding:4px;max-width:610px}
.offer-actions .offer-cta,.offer-actions .shop-cta{box-sizing:border-box;width:100%;max-width:100%;margin:0;min-width:0;justify-content:space-between;padding:18px 22px;font-size:clamp(16px,2.5vw,25px);gap:10px;line-height:1.45}
.offer-actions a>span{flex:1;min-width:0;text-align:center;overflow-wrap:anywhere}
.offer-actions a>b{flex-shrink:0}
.offer-actions .shop-cta{border-color:#1b1917}
@media(max-width:700px){.offer-card .offer-actions{gap:14px;margin-top:23px;padding:4px 3px}.offer-actions .offer-cta,.offer-actions .shop-cta{padding:15px 10px;gap:5px;font-size:clamp(12px,3.65vw,18px);letter-spacing:-.04em}.offer-actions .offer-cta{font-size:17px;letter-spacing:0}.offer-actions .offer-cta b{width:25px;height:25px;font-size:18px}.offer-actions .shop-cta b{font-size:18px}.offer-card .offer-terms{margin-top:20px}}

/* Consultation entry between the hero and introduction. */
.hero-consult{padding:25px 25px 32px;display:flex;justify-content:center}
.consult-cta{display:flex;align-items:center;justify-content:center;gap:23px;width:min(100%,690px);padding:22px 26px;border:3px solid #fff;border-radius:70px;background:linear-gradient(105deg,#ffab2f,#ff4c22,#ff902e);background-size:240% 100%;box-shadow:0 0 0 3px #ff6a26,0 9px 22px #ff6a2629;color:#fff;font-size:27px;font-weight:900;line-height:1.4;animation:planner-gradient 5s ease-in-out infinite alternate;transition:translate .2s,box-shadow .2s}
.consult-cta span{min-width:0;text-align:center}.consult-cta b{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#fff;color:#ff6426;font-size:24px}.consult-cta:hover{translate:0 -2px;box-shadow:0 0 0 3px #ff6a26,0 12px 26px #ff6a2640}
@media(max-width:700px){.hero-consult{padding:20px 11px 26px}.consult-cta{gap:9px;padding:17px 11px;font-size:clamp(15px,4.4vw,22px);border-width:2px;letter-spacing:-.045em;box-shadow:0 0 0 2px #ff6a26,0 8px 18px #ff6a2629}.consult-cta b{width:27px;height:27px;font-size:20px}}
@media(prefers-reduced-motion:reduce){.consult-cta{animation:none;transition:none}}

/* Remove the empty space around the consultation entry. */
.hero-consult{padding:4px 11px;margin:0}
.hero-consult+.who{margin-top:0}
@media(max-width:700px){.hero-consult{padding:3px 11px}.hero-consult+.who{margin-top:0}}

.shop-directory{padding:56px 35px 45px;text-align:center;background-color:#f5f4ef;background-image:linear-gradient(#dededb88 1px,transparent 1px),linear-gradient(90deg,#dededb88 1px,transparent 1px);background-size:30px 30px;border-top:3px solid #1b1917}.shop-directory .section-kicker{font-size:12px;margin-bottom:18px}.shop-directory h2{font-size:32px;letter-spacing:-.04em;margin:0;font-weight:900}.shop-directory h2>span{font-size:1.45em;letter-spacing:-.08em}.shops-lead{font-size:15px;font-weight:700;line-height:1.6;margin:12px 0 28px}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.shop-entry{display:flex;flex-direction:column;min-width:0;border:3px solid #1b1917;border-radius:24px;background:white;overflow:hidden;box-shadow:5px 6px 0 #1b1917;transition:translate .25s}.shop-entry:hover{translate:0 -5px}.shop-entry-heading{padding:23px 12px 18px}.shop-entry-heading small{font-size:10px;font-weight:900;letter-spacing:.12em;color:#e75e21}.shop-entry-heading h3{font-size:32px;line-height:1.2;margin:10px 0;font-weight:900}.shop-entry-heading p{font-size:12px;margin:0;line-height:1.5}.shop-entry-art{height:230px;position:relative;overflow:hidden;border-top:2px solid #1b1917;border-bottom:2px solid #1b1917}.garden-art img{width:100%;height:100%;object-fit:cover;object-position:center 70%}.land-art{background-color:#fff1d3;background-image:linear-gradient(35deg,transparent 45%,#fff 45%,#fff 52%,transparent 52%),linear-gradient(125deg,transparent 38%,#e8d5ae 38%,#e8d5ae 40%,transparent 40%);background-size:85px 100px}.land-art img{position:absolute;height:87%;width:80%;object-fit:contain;bottom:0;left:10%;filter:drop-shadow(6px 5px 0 #0001)}.land-tag{position:relative;z-index:2;display:inline-block;background:#1b1917;color:#fff;padding:7px 12px;font-size:11px;font-weight:800;margin-top:12px}.land-pin{position:absolute;color:#ff6c21;font-size:28px;text-shadow:0 3px 0 white}.pin-one{top:40%;left:13%}.pin-two{top:58%;right:12%}.shop-entry-action{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:17px 14px 8px;border-radius:35px;padding:13px 17px;background:linear-gradient(110deg,#ffad2e,#ff4c23);background-size:220% 100%;animation:planner-gradient 5s ease-in-out infinite alternate;color:white;font-size:20px;font-weight:900}.shop-entry-action b{display:grid;place-items:center;background:white;color:#fa6426;width:28px;height:28px;border-radius:50%;font-size:20px}.shop-domain{font-size:10px;letter-spacing:.08em;margin-bottom:17px;color:#7b746a}.site-footer{padding:36px 22px 28px;background:#1b1917;color:white;text-align:center}.footer-brand{display:flex;justify-content:center;align-items:baseline;gap:14px}.footer-brand strong{font-size:42px;letter-spacing:-.07em}.footer-brand span{font-size:18px;color:#ff8a2d;font-weight:900}.site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 28px;margin:25px 0}.site-footer nav a{font-size:12px;text-decoration:underline;text-underline-offset:5px}.site-footer p{font-size:11px;color:#c8c2b8}.footer-top{display:inline-block;margin-top:16px;font-size:11px;color:#ffb656}
@media(max-width:700px){.shop-directory{padding:34px 15px 32px;background-size:22px 22px}.shop-directory h2{font-size:20px}.shops-lead{font-size:13px;margin-bottom:23px}.shop-grid{grid-template-columns:1fr;gap:24px}.shop-entry{border-width:2px;border-radius:20px;box-shadow:4px 4px 0 #1b1917}.shop-entry-heading{padding:17px 10px 14px}.shop-entry-heading h3{font-size:29px;margin:7px 0}.shop-entry-art{height:190px}.shop-entry-action{font-size:19px;padding:13px 16px}.site-footer{padding:28px 15px}.footer-brand strong{font-size:35px}.footer-brand span{font-size:15px}.site-footer nav{gap:16px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.shop-entry{transition:none}.shop-entry-action{animation:none}}

/* Readable brand lockup and a clear consultation action. */
header.site-header{height:86px;gap:20px;justify-content:space-between;align-items:center}
.header-identity{display:flex;align-items:baseline;gap:15px;min-width:0;color:#1b1b19}
.header-logo{font-size:45px;line-height:1;font-weight:900;letter-spacing:-.075em;flex-shrink:0}
.header-name{font-size:23px;font-weight:900;letter-spacing:-.045em;line-height:1.2;white-space:nowrap}
.header-consult{display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;min-height:47px;padding:11px 22px;border:2px solid #1b1b19;border-radius:30px;background:linear-gradient(110deg,#ffad32,#ff5225);background-size:220% 100%;animation:planner-gradient 5s ease-in-out infinite alternate;color:white;font-size:18px;font-weight:900;box-shadow:3px 3px 0 #1b1b19;line-height:1.2}
.header-consult b{font-size:21px}.header-consult:hover{filter:brightness(1.08)}
@media(max-width:700px){header.site-header{height:76px;gap:12px}.header-identity{flex-direction:column;align-items:flex-start;gap:3px}.header-logo{font-size:34px}.header-name{font-size:15px;letter-spacing:-.055em}.header-consult{font-size:15px;gap:6px;padding:10px 13px;min-height:43px;border-width:1.5px;box-shadow:2px 2px 0 #1b1b19}.header-consult b{font-size:18px}}
@media(max-width:360px){.header-logo{font-size:31px}.header-name{font-size:14px}.header-consult{font-size:14px;padding:10px 11px}}
@media(prefers-reduced-motion:reduce){.header-consult{animation:none}}

/* Persistent header with room for in-page anchors and sticky team cards. */
:root{--site-header-height:86px}
html{scroll-padding-top:calc(var(--site-header-height) + env(safe-area-inset-top,0px) + 12px)}
header.site-header{position:sticky;top:0;z-index:100;height:calc(var(--site-header-height) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:#fff;box-shadow:0 5px 16px #1b191710}
.team-sticky{top:calc(var(--site-header-height) + env(safe-area-inset-top,0px) + 12px)}
@media(max-width:700px){:root{--site-header-height:76px}header.site-header{height:calc(var(--site-header-height) + env(safe-area-inset-top,0px))}.team-sticky{top:calc(var(--site-header-height) + env(safe-area-inset-top,0px) + 12px)}}

/* A small breathing space, then a continuous WHO introduction ribbon. */
.hero-consult{padding-bottom:22px}
.who-marquee{overflow:hidden;background:#1b1917;color:#fff;padding:19px 0;line-height:1.2}
.who-marquee-track{display:flex;width:max-content;animation:who-ribbon-drift 24s linear infinite}
.who-marquee-track>span{display:block;flex:none;white-space:nowrap;font-size:32px;font-weight:900;font-style:italic;letter-spacing:-.025em;padding-right:35px}
.who-marquee-track b{display:inline-block;font-style:normal;font-size:.6em;vertical-align:middle;margin:0 30px}
.who-marquee+.who{margin-top:0}
.who-marquee:hover .who-marquee-track{animation-play-state:paused}
@keyframes who-ribbon-drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){.hero-consult{padding-bottom:19px}.who-marquee{padding:15px 0}.who-marquee-track>span{font-size:24px;padding-right:22px}.who-marquee-track b{margin:0 20px}.who-marquee+.who{margin-top:0}}
@media(prefers-reduced-motion:reduce){.who-marquee-track{animation:none}}

/* Show the offer at the bottom once the introduction has been reached. */
header.site-header{position:relative;top:auto;z-index:auto;box-shadow:none}
html{scroll-padding-top:12px}
.team-sticky{top:25px}
main{padding-bottom:130px}
.floating-consult{position:fixed;z-index:200;left:50%;bottom:calc(17px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(720px,calc(100% - 36px));animation:floating-consult-in .45s ease-out both}
.floating-consult[hidden]{display:none}
.floating-consult>a{display:flex;align-items:center;justify-content:center;gap:20px;min-height:85px;padding:12px 24px;border:3px solid #fff;border-radius:70px;background:linear-gradient(105deg,#ffb025,#ff6b1f,#ff4225,#ff9329);background-size:300% 100%;animation:hero-color-flow 4s ease-in-out infinite alternate;box-shadow:0 0 0 3px #ff6426,0 12px 32px #b6442945;color:#fff}
.floating-consult-copy{text-align:center;min-width:0}.floating-consult small{display:block;font-size:15px;font-weight:800;letter-spacing:.08em;line-height:1.4}.floating-consult strong{display:block;font-size:27px;font-weight:900;letter-spacing:-.04em;line-height:1.4}.floating-consult em{font-style:normal;color:#fff7cc}.floating-consult b{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:white;color:#ff6426;font-size:24px}.floating-consult>a:hover{filter:brightness(1.06)}
@keyframes floating-consult-in{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}
@media(max-width:700px){.team-sticky{top:12px}main{padding-bottom:110px}.floating-consult{bottom:calc(12px + env(safe-area-inset-bottom,0px));width:calc(100% - 28px)}.floating-consult>a{min-height:72px;padding:11px 10px;gap:7px;border-width:2px;box-shadow:0 0 0 3px #ff6426,0 9px 25px #b6442940}.floating-consult small{font-size:12px}.floating-consult strong{font-size:clamp(14px,4.3vw,23px);letter-spacing:-.05em;white-space:nowrap}.floating-consult b{width:27px;height:27px;font-size:19px}}
@media(prefers-reduced-motion:reduce){.floating-consult,.floating-consult>a{animation:none}}

/* Editorial contrast: bold opening, oversized keyword, expressive Mincho ending. */
.hero .eyebrow{font-family:"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:900;letter-spacing:.025em}
.headline-row h1{font-family:"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;letter-spacing:-.055em;-webkit-text-stroke:0}
.headline-row h1 .headline-line:first-child{font-size:min(79px,20cqw);font-weight:900;line-height:1.18;-webkit-text-stroke:.45px currentColor;margin-bottom:.15em}
.headline-row h1 .headline-line:nth-child(2){font-size:min(61px,15.3cqw);line-height:1.2;display:flex;align-items:baseline;white-space:nowrap}
.hero .headline-row h1 strong{font-size:1.38em;font-weight:900;letter-spacing:-.07em;flex-shrink:0}
.headline-serif{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif CJK JP",serif;font-weight:900;letter-spacing:-.075em;font-feature-settings:"palt";-webkit-text-stroke:.2px currentColor}
.hero .caption{container-type:inline-size;letter-spacing:-.035em;gap:7px;padding-top:18px;padding-bottom:18px}
.hero .caption>span:first-child{font-size:min(40px,7.6cqw);font-weight:700}
.hero .caption em{font-family:"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:900;letter-spacing:-.05em}
.hero .caption>span:last-child{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-weight:900;font-size:min(35px,6.6cqw);letter-spacing:.025em}
@media(max-width:700px){.hero .caption{padding:12px 8px;gap:5px}.headline-row h1 .headline-line:first-child{-webkit-text-stroke:.3px currentColor}}
