@import url("/premium-ui.css");
@import url("/design-system.css");
:root{--navy:#071d2d;--ink:#132535;--muted:#5e6870;--line:#e5e9eb;--coral:#e6857c;--soft:#f7f8f8;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{padding:54px max(4vw,28px);max-width:1500px;margin:auto}.header{height:68px;padding:0 max(4vw,28px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid #eef0f2}.logo{display:flex;align-items:baseline;gap:18px;white-space:nowrap}.logo b{font-family:Georgia,serif;font-size:25px;letter-spacing:.16em}.logo span{font-family:Georgia,serif;font-size:11px;color:#51606a}.header nav,footer nav{display:flex;gap:36px;font-size:13px;font-weight:700}.header nav a:hover,footer nav a:hover{color:var(--coral)}.pill{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:0;border-radius:999px;background:var(--navy);color:#fff;min-height:48px;padding:0 28px;font:700 14px var(--sans);cursor:pointer}.pill:hover{background:#15384f}.hero{height:590px;min-height:560px;position:relative;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.78) 34%,rgba(255,255,255,.08) 67%,rgba(6,24,36,.10))}.hero-copy{position:absolute;left:max(5.5vw,42px);top:68px;z-index:2}.hero h1{font-family:var(--serif);font-size:clamp(44px,5vw,68px);font-weight:500;line-height:1.35;letter-spacing:.03em;margin:0 0 18px}.hero-copy>p{font-size:15px;line-height:1.75;margin:0 0 20px}.actions{display:flex;align-items:center;gap:34px}.doc-link{font-size:14px;font-weight:700}.hero-note{position:absolute;z-index:2;right:17%;top:62px;transform:rotate(-8deg);font-family:var(--serif);font-size:18px;line-height:1.7}.hero-en{position:absolute;z-index:2;right:6%;top:136px;border-left:1px solid rgba(255,255,255,.75);padding-left:22px;color:#fff;font:16px/1.8 Georgia,serif}.hero-bottom{position:absolute;z-index:2;left:max(5.5vw,42px);bottom:18px;font-size:12px;border-left:1px solid var(--navy);padding-left:28px}.center-head{text-align:center;margin-bottom:34px}.center-head h2,.section-title h2,.promise h2,.contact h2{font-family:var(--serif);font-weight:500}.center-head h2{font-size:28px;margin:0 0 5px}.center-head p{font-size:13px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-grid article{background:var(--soft);border-radius:4px;overflow:hidden}.photo{height:150px;background-size:cover;background-position:center}.crop-brand{background-image:url("faevia-service-brand.webp")}.crop-dev{background-image:url("faevia-service-prototype.webp")}.crop-ux{background-image:url("faevia-service-ux.webp")}.card-copy{display:grid;grid-template-columns:42px 1fr 36px;gap:12px;align-items:start;padding:16px}.card-copy>span{font:26px Georgia,serif;color:var(--coral)}.card-copy h3{margin:0 0 5px;font-family:var(--serif);font-size:18px}.card-copy p{margin:0;color:var(--muted);font-size:12px}.card-copy>a{width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 3px 12px rgba(0,0,0,.08)}.section-title{display:flex;align-items:baseline;gap:22px;margin-bottom:24px;border-left:1px solid var(--navy);padding-left:20px}.section-title h2{font-size:27px;margin:0}.section-title p{margin:0;color:var(--muted);font-size:12px}.work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.work-visual{height:140px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:24px}.work-grid h3{margin:8px 0 0;font-size:16px}.work-grid>article>p{font-size:12px;color:var(--muted);margin:0}.mira{background:linear-gradient(120deg,#e8ded8,#fff 60%,#d9c8be)}.mira span{font:30px Georgia,serif}.iam{background:#080b0e;color:#fff}.iam span{font:28px Georgia,serif;letter-spacing:.2em}.work-visual small{font-size:9px;letter-spacing:.12em}.pontete{padding:0;background:#f4ded8}.pontete img{width:100%;height:100%;object-fit:cover}.more{background:linear-gradient(135deg,#d7d0ca,#f4f1ee);font:22px/1.35 var(--serif)}.strength-grid{display:grid;grid-template-columns:repeat(4,1fr)}.strength-grid article{padding:10px 28px;border-right:1px solid var(--line)}.strength-grid article:first-child{padding-left:16px}.strength-grid article:last-child{border:0}.strength-icon{display:block;width:96px;height:128px;background-image:url("faevia-strength-icons-transparent.webp");background-repeat:no-repeat;background-size:400% 100%}.strength-icon--partnership{background-position:0 0}.strength-icon--strategy{background-position:33.333333% 0}.strength-icon--quality{background-position:66.666667% 0}.strength-icon--support{background-position:100% 0}.strength-grid h3{font-family:var(--serif);font-size:17px;margin:17px 0 6px}.strength-grid p{font-size:12px;color:var(--muted);margin:0}.promise{height:310px;display:grid;grid-template-columns:48% 52%;background:#f4f5f4}.promise img{width:100%;height:100%;object-fit:cover}.promise>div{position:relative;padding:36px 7vw}.promise h2{font-size:26px;line-height:1.55;margin:0 0 16px}.promise p{font-size:13px;color:var(--muted);margin:0}.promise em{position:absolute;right:7%;bottom:32px;font:italic 19px/1.35 cursive;color:#6d777d;transform:rotate(-6deg)}.price{padding-top:70px;padding-bottom:70px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.price-grid article{padding:28px;border-right:1px solid var(--line)}.price-grid article:last-child{border:0}.price-grid span{color:var(--coral);font:700 11px Arial;letter-spacing:.14em}.price-grid h3{font-family:var(--serif);font-size:20px;margin:12px 0}.price-grid strong{font-family:var(--serif);font-size:28px}.price-grid p{font-size:13px;color:var(--muted)}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:700}.faq details p{color:var(--muted);font-size:14px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;border-top:1px solid var(--line);padding-top:48px;padding-bottom:60px}.contact h2{font-size:28px;margin:0 0 8px}.contact>div>p{color:var(--muted);font-size:13px}.contact form{display:grid;gap:14px}.contact label{display:grid;gap:5px;font-size:13px;font-weight:700}.contact input,.contact textarea{width:100%;border:1px solid var(--line);padding:11px;font:16px var(--sans);background:#fff}.contact .consent{display:flex;align-items:center}.contact .consent input{width:auto}.form-error{color:#b44;font-size:13px;margin:0}footer{min-height:96px;padding:24px max(4vw,28px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line)}footer>div{text-align:right;font-size:11px;color:var(--muted)}footer>div p{margin:3px 0}
@media(max-width:980px){.header nav{display:none}.hero{height:620px}.hero-note,.hero-en{display:none}.service-grid,.price-grid{grid-template-columns:1fr}.work-grid{grid-template-columns:repeat(2,1fr)}.strength-grid{grid-template-columns:repeat(2,1fr);gap:22px}.strength-grid article{border:0;padding:10px}.promise{height:auto;grid-template-columns:1fr}.promise img{height:260px}.contact{grid-template-columns:1fr}footer nav{display:none}}@media(max-width:620px){body{font-size:15px}.header{height:62px;padding:0 18px}.logo span{display:none}.header .pill{padding:0 16px;min-height:40px}.hero{height:670px}.hero-photo{object-position:66% center}.hero-shade{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.86) 53%,rgba(255,255,255,.06) 83%)}.hero-copy{left:22px;right:22px;top:40px}.hero h1{font-size:42px}.hero-copy>p br{display:none}.actions{align-items:flex-start;flex-direction:column;gap:16px}.hero-bottom{left:22px;bottom:14px;color:#fff;border-color:#fff}.wrap{padding:44px 20px}.center-head{text-align:left}.center-head h2{font-size:24px}.work-grid{grid-template-columns:1fr}.strength-grid{grid-template-columns:1fr}.promise>div{padding:30px 22px 70px}.promise em{right:24px;bottom:18px}.section-title{display:block}.section-title p{margin-top:5px}.price-grid article{border-right:0;border-bottom:1px solid var(--line)}footer{align-items:flex-start;flex-direction:column}footer>div{text-align:left}}

.contact-trap{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}.form-error[data-success="true"]{color:#245d49}.contact .consent a{text-decoration:underline}.contact button:disabled{opacity:.6;cursor:wait}

/* Audit: readable copy, clear navigation, and one inspectable self-project. */
body{font-size:16px}
section[id],main[id]{scroll-margin-top:88px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:50;background:#fff;color:var(--ink);padding:10px 16px}
.skip-link:focus{top:8px}
:is(a,button,input,textarea,summary):focus-visible{outline:3px solid #a05447;outline-offset:3px}
:is(select):focus-visible{outline:3px solid #a05447;outline-offset:3px}
.contact select{display:block;width:100%;min-width:0;max-width:100%;margin-top:7px;padding:12px 8px;border:1px solid #9ca6ac;border-radius:2px;background:#fff;color:var(--ink);font:16px var(--sans)}
.contact form{min-width:0}
.optional{font-size:14px;font-weight:400;color:var(--muted);margin-left:8px}
.form-help{margin:0;font-size:14px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}
.form-help a{text-decoration:underline;text-underline-offset:4px}
.template-button{justify-self:start;padding:10px 0;background:none;border:0;color:var(--navy);font:inherit;font-size:14px;text-align:left;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.header nav,footer nav{font-size:14px}
.hero-copy{max-width:620px}
.hero-copy>p{font-size:16px;line-height:1.8}
.hero-copy>.hero-scope{font-size:15px;font-weight:700;line-height:1.7;color:var(--navy);margin-bottom:10px}
.center-head p,.section-title p{font-size:15px;line-height:1.7}
.card-copy{grid-template-columns:34px minmax(0,1fr);gap:14px;padding:20px}
.card-copy p{font-size:15px;line-height:1.75}
.card-copy .service-detail{display:inline-block;width:auto;height:auto;margin-top:14px;background:none;border-radius:0;box-shadow:none;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.featured-work{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(24px,4vw,58px);align-items:center;border-top:1px solid var(--line);padding-top:24px}
.featured-work-image{display:block;overflow:hidden;border:1px solid var(--line)}
.featured-work-image img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover}
.featured-work-copy{max-width:470px}
.featured-work-copy h3{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.4;margin:8px 0 14px}
.featured-work-copy>p:not(.work-type){font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 18px}
.work-type{font-size:13px;color:var(--muted);margin:0}
.work-link{display:inline-block;margin:0 20px 10px 0;font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.work-link--secondary{font-weight:500}
.process-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);margin:0;padding:0}
.process-steps li{min-width:0;padding:24px 22px;border-left:1px solid var(--line)}
.process-steps li:first-child{border-left:0}
.process-steps span{display:block;color:#a4544e;font-size:14px;font-weight:700}
.process-steps h3{font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.4;margin:8px 0}
.process-steps p{font-size:15px;line-height:1.75;color:var(--muted);margin:0}
.strength-grid p{font-size:15px;line-height:1.8}
.promise p{font-size:16px;line-height:1.8}
.price-grid p{font-size:16px;line-height:1.8;margin-bottom:0}
.price-note{max-width:75ch;font-size:14px;line-height:1.7;color:var(--muted);margin:20px 0 0}
.contact>div>p{font-size:16px;line-height:1.8}
.contact label:not(.consent){display:block;font-size:15px}
.contact label:not(.consent) input,.contact label:not(.consent) textarea{display:block;margin-top:7px}
.contact input,.contact textarea{border-color:#9ca6ac;border-radius:2px}
.contact input:focus,.contact textarea:focus{border-color:var(--navy)}
.contact .consent{font-size:14px;line-height:1.7}
.required{display:inline-block;margin-left:6px;color:#8e3c35;font-size:12px;font-weight:700;vertical-align:baseline}
.form-guide{margin:0;font-size:15px;line-height:1.7;color:var(--muted)}
.form-error{font-size:14px}
@media(max-width:980px){.featured-work{grid-template-columns:1fr;gap:20px}.featured-work-copy{max-width:720px}.process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.process-steps li:nth-child(odd){border-left:0}.process-steps li:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:620px){.hero h1{font-size:36px}.hero-copy>p{font-size:16px}.hero-copy>.hero-scope{font-size:14px}.featured-work-copy h3{font-size:24px}.process-steps{grid-template-columns:1fr}.process-steps li{border-left:0;border-top:1px solid var(--line);padding:20px 0}.process-steps li:first-child{border-top:0}.price-grid p,.featured-work-copy>p:not(.work-type),.contact>div>p{font-size:16px}.price-note{font-size:14px}.service-grid article{min-width:0}}
@media(max-width:360px){.hero h1{font-size:30px}.header .logo b{font-size:22px;letter-spacing:.12em}.header .pill{font-size:12px;white-space:nowrap;gap:8px;padding:0 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.privacy-page{max-width:960px;line-height:1.95}.privacy-page h1{font-family:var(--serif);font-size:clamp(26px,4vw,38px);font-weight:500}.privacy-page h2{font-size:21px;margin:36px 0 12px}.privacy-page p,.privacy-page li{font-size:16px}.privacy-page section{scroll-margin-top:90px}.privacy-page a:not(.pill){text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.privacy-date{color:var(--muted);font-size:14px!important}.privacy-index{display:flex;flex-wrap:wrap;gap:12px 24px;padding:20px 0;border-block:1px solid var(--line)}.privacy-table{overflow-x:auto}.privacy-table table{width:100%;border-collapse:collapse}.privacy-table th,.privacy-table td{text-align:left;vertical-align:top;border:1px solid var(--line);padding:12px;font-size:15px}.privacy-table th{background:var(--soft)}.privacy-table td:first-child{min-width:140px}.consent-copy{display:block}.contact .consent{align-items:flex-start}.contact .consent input{margin-top:7px;flex-shrink:0}.contact-notice{font-size:14px;color:var(--muted)}

/* Clear, comparable pricing in ascending starting-price order. */
.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border:0;align-items:stretch}
.price-grid article,.price-grid article:last-child{display:flex;flex-direction:column;min-width:0;padding:26px;border:1px solid #d5dde2;border-radius:12px;background:#fff}
.price-card .price-category{margin:0;color:#4e5962;font-size:14px;font-weight:700;line-height:1.6}
.price-card h3{min-height:3em;margin:8px 0 18px;font-family:var(--sans);font-size:20px;font-weight:700;line-height:1.5;color:var(--navy)}
.price-main{padding:20px 16px;background:var(--soft);border-radius:8px}
.price-card .price-amount{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;line-height:1.1;color:var(--navy)}
.price-card .price-amount strong{display:block;font-family:Arial,var(--sans);font-size:clamp(2.375rem,3.4vw,3.25rem);font-weight:400;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.025em;line-height:1;overflow-wrap:normal}
.price-card .price-amount .price-unit{font:400 1.125rem/1.3 var(--sans);letter-spacing:0;color:var(--navy);white-space:nowrap}
.price-card .price-tax{margin:8px 0 0;font-size:14px;line-height:1.5;color:#4e5962}
.price-card .price-scope{margin:18px 0 0;padding-top:14px;border-top:1px solid #d5dde2;font-size:16px;font-weight:700;line-height:1.65;color:var(--ink)}
.price-features{display:grid;gap:8px;margin:24px 0 0;padding-left:1.25em;font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.price-card .price-exclusion{margin:20px 0 24px;font-size:14px;line-height:1.75;color:#4e5962}
.price-additional{margin:22px 0}
.price-card .price-additional>p{margin:0 0 8px;font-size:14px;font-weight:700;line-height:1.6;color:#4e5962}
.price-options{margin:0;font-size:16px;line-height:1.7}
.price-options>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:10px 0;border-top:1px solid var(--line)}
.price-options dt,.price-options dd{margin:0}
.price-options dd{font-weight:400;font-variant-numeric:tabular-nums}
.price-detail-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid #d5dde2;font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.price-card .price-detail-link span{font:inherit;letter-spacing:0;color:var(--navy)}
ul.price-note{max-width:100ch;margin-top:28px;padding-left:1.4em;font-size:14px;line-height:1.85}
ul.price-note li+li{margin-top:10px}
@media(max-width:980px){.price-grid{grid-template-columns:minmax(0,1fr);gap:20px}.price-card h3{min-height:0}.price-card .price-amount strong{font-size:clamp(2.375rem,8vw,3.25rem)}}
@media(max-width:360px){.price-grid article,.price-grid article:last-child{padding:20px}.price-main{padding:18px 12px}}

.analytics-consent[hidden]{display:none}
.analytics-consent{position:fixed;right:18px;bottom:18px;width:min(410px,calc(100vw - 36px));max-height:70vh;overflow:auto;z-index:40;background:#fff;border:1px solid #9ca6ac;border-radius:6px;box-shadow:0 5px 30px #071d2d1a;padding:18px;color:var(--ink)}
.analytics-consent p{font-size:14px;line-height:1.75;margin:0 0 10px}
.analytics-consent a{text-decoration:underline;text-underline-offset:3px}
.analytics-consent>div{display:flex;gap:12px}
.analytics-consent button{flex:1;min-height:44px;padding:8px;border:1px solid var(--navy);background:white;color:var(--navy);border-radius:4px;font:700 14px var(--sans);cursor:pointer}
.analytics-consent button:hover{background:var(--soft)}
.analytics-settings{background:none;border:0;padding:10px 0;font:14px var(--sans);color:var(--muted);text-align:left;text-decoration:underline;text-underline-offset:4px;cursor:pointer}

/* Narrow-screen navigation keeps every section reachable without scripting. */
.mobile-menu{display:none}.mobile-menu summary{min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--line);border-radius:6px;font-size:14px;font-weight:400;white-space:nowrap}.mobile-menu summary::after{content:'＋';margin-left:6px}.mobile-menu[open] summary::after{content:'−'}
@media(max-width:980px){.mobile-menu{display:block}.header{gap:14px}.header>.pill{margin-left:auto}.header .mobile-menu nav{display:flex;position:absolute;left:0;right:0;top:100%;padding:16px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #071d2d12;flex-wrap:wrap;gap:8px 24px}.mobile-menu nav a{display:flex;min-height:44px;align-items:center;font-weight:400}.logo span{display:none}}
@media(max-width:620px){.header{gap:8px;padding-inline:14px}.header .logo b{font-size:22px;letter-spacing:.1em}.header>.pill{font-size:12px;padding-inline:12px;gap:6px}.mobile-menu summary{font-size:12px;padding-inline:8px}}
@media(max-width:360px){.header>.pill span{display:none}.header>.pill{padding-inline:8px}.header .logo b{font-size:20px}}

.guide-footer-link{font-size:14px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}footer{flex-wrap:wrap}
/* Optional analytics stays in normal flow, never over the page or a form. */
.analytics-consent{position:static;width:auto;max-width:1100px;max-height:none;overflow:visible;margin:20px auto;padding:18px 22px;box-shadow:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;align-items:center;border-color:#e0ded9;background:#faf7f5;z-index:auto}
.analytics-consent>p{grid-column:1;margin:0}.analytics-consent>div{grid-column:2;grid-row:1/3;gap:10px}.analytics-consent button{min-width:108px;font-weight:400}.analytics-choice-link[hidden]{display:none}.analytics-consent[hidden]{display:none}
@media(max-width:700px){.analytics-consent{display:block;margin:16px 22px;padding:18px;max-width:calc(100% - 44px)}.analytics-consent>p{margin-bottom:12px}.analytics-consent>div{display:flex;flex-wrap:wrap}.analytics-consent button{min-width:0;font-size:14px}.ux-home .analytics-consent{max-height:none;overflow:visible;margin-inline:0;max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Match the redesign on policy pages without modifying immutable consent HTML. */
body:has(.privacy-page){--premium-paper:#f3f3f1;--premium-ink:#191919;--premium-rule:#c7c7c7;--navy:#090909;--ink:#191919;--muted:#626262;--serif:Arial,'Noto Sans JP',sans-serif;background:#f3f3f1!important;color:#191919!important;font-family:Arial,'Noto Sans JP','Yu Gothic',sans-serif!important}
body:has(.privacy-page) .header,body:has(.privacy-page) footer{background:#090909!important;color:#f3f3f1!important;border:0!important}
body:has(.privacy-page) .header a,body:has(.privacy-page) .header .logo b,body:has(.privacy-page) footer a{color:#f3f3f1!important}
body:has(.privacy-page) .header .pill{background:#f4f4f2!important;color:#090909!important}
body:has(.privacy-page) .privacy-page h1,body:has(.privacy-page) .privacy-page h2,body:has(.privacy-page) .privacy-page h3{font-family:Arial,'Noto Sans JP','Yu Gothic',sans-serif!important;color:#191919!important}
body:has(.privacy-page) .logo b{font:600 30px/1 Arial,sans-serif!important;letter-spacing:.14em!important}
