:root{--paper:#fff;--ink:#2c2d2d;--muted:#5a5a56;--accent:#d2ff00;--soft:#f3f3f0;}
.headline-stage{overflow:hidden;}.hero h1 .headline-line{white-space:normal;}.contact-form .optional-label{display:inline;color:var(--muted);font-size:.8125rem;}.contact-form label:has(.optional-label){display:block;}.contact-form label:has(.optional-label) input{margin-top:9px;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--ink);box-shadow:0 0 0 5px var(--accent);}
.wordmark{display:flex;align-items:center;gap:14px;letter-spacing:0;min-width:0;}.wordmark img{width:126px;height:auto;display:block;}.wordmark .brand-description{font-size:.75rem;letter-spacing:0;font-weight:400;line-height:1.4;margin:0;color:var(--muted);max-width:none;white-space:nowrap;}
.hero{padding-top:18px;}.headline-stage{position:relative;isolation:isolate;padding-block:12px 24px;text-align:center;}.hero h1{margin-top:0;font-size:clamp(3rem,7vw,5.85rem);}.headline-line{display:block;color:var(--ink);white-space:nowrap;}.hero h1 .headline-line{color:var(--ink);}.hero h1 .secondary-line{color:var(--ink);-webkit-text-stroke:0;letter-spacing:inherit;width:fit-content;max-width:100%;margin:.12em auto 0;padding:0 .06em;position:relative;isolation:isolate;background:none;border-radius:0;}

.button.dark{background:var(--accent);border-color:var(--ink);color:var(--ink);}.button.dark:hover{background:var(--ink);color:var(--accent);}.nav-cta{background:var(--accent);}.button:hover{background:var(--ink);color:white;}.strip-inner{border-left:0;padding-left:0;}.intro-copy .button{margin-top:24px;}.services>.section-heading{text-align:center;}.services>.section-heading>p:last-child{margin-inline:auto;}.service-tabs button{grid-template-columns:1fr;text-align:center;gap:6px;align-content:start;}.tab-number,.tab-caption{grid-column:1;}.service-tabs button[aria-selected=true]::after{background:var(--accent);height:5px;}.service-summary{text-align:center;}.service-summary .button{margin-inline:auto;}.example-tabs button[aria-selected=true]{background:var(--ink);color:var(--accent);}.section-cta{margin-top:35px;}.approach>.button,.responsible>.button,.faq>.button{grid-column:2;justify-self:start;}.approach,.responsible,.faq{row-gap:28px;}.responsible{border-left:5px solid var(--accent);padding-left:30px;}.about .button{margin-top:24px;}.home-contact{align-items:center;}.home-contact>.button{justify-self:end;}
.site-footer{display:grid;grid-template-columns:auto 1fr auto;gap:20px 30px;align-items:center;}.footer-logo{display:block;}.footer-logo img{display:block;width:120px;height:auto;}.footer-tagline{font-size:.875rem;}.copyright{grid-column:1/-1;font-size:.75rem;}.site-footer nav{display:flex;gap:23px;font-size:.875rem;flex-wrap:wrap;}.site-footer nav a{text-decoration:none;}.site-footer nav a:hover{text-decoration:underline;}
.page-intro{padding-block:65px 45px;}.page-intro h1{font-size:clamp(2.75rem,6vw,4.6rem);line-height:1.07;letter-spacing:-.06em;font-weight:600;margin-top:23px;}.page-intro>p:last-child{font-size:1.1rem;max-width:660px;color:var(--muted);margin-top:24px;}.contact-page{border-top:1px solid var(--line);padding-block:45px 75px;display:grid;grid-template-columns:.85fr 1.3fr;gap:90px;}.contact-sidebar h2{font-size:1.8rem;letter-spacing:-.03em;}.contact-sidebar p{font-size:1rem;color:var(--muted);margin-top:18px;}.contact-sidebar .small-contact-note{font-size:.875rem;margin-top:30px;}.contact-form{display:grid;gap:21px;}.contact-form label{display:grid;gap:9px;font-size:.9375rem;}.contact-form input,.contact-form textarea{width:100%;border:1px solid #aaa;border-radius:3px;padding:13px;font-size:1rem;color:var(--ink);background:white;line-height:1.5;}.contact-form textarea{resize:vertical;min-height:170px;}.contact-form .button{justify-self:start;}.contact-form .form-note{font-size:.875rem;}.contact-form .field-row{gap:22px;}.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}.form-feedback{font-size:1rem;margin-top:20px;}.form-feedback[role=alert]{padding:17px;border-left:4px solid var(--ink);background:var(--soft);}.form-success{border-top:5px solid var(--accent);padding-top:25px;}.form-success h2{font-size:2.1rem;margin-top:17px;}.form-success p{margin-top:17px;color:var(--muted);font-size:1rem;}.form-success .button{margin-top:25px;}
.legal-layout{padding-block:20px 80px;display:grid;grid-template-columns:.55fr 1.7fr;gap:80px;}.legal-nav{display:grid;align-content:start;gap:14px;font-size:.875rem;border-top:1px solid var(--line);padding-top:22px;}.legal-copy{font-size:1rem;color:var(--muted);}.legal-copy section+section{margin-top:38px;}.legal-copy h2{font-size:1.5rem;letter-spacing:-.03em;color:var(--ink);line-height:1.3;margin-bottom:13px;}.legal-copy p+p{margin-top:13px;}.legal-copy ul{padding-left:21px;line-height:1.7;}.legal-copy li+li{margin-top:7px;}.legal-copy .legal-callout{padding:19px 21px;background:var(--soft);border-left:4px solid var(--accent);margin-bottom:35px;}.legal-copy a{color:var(--ink);}.page-end-cta{margin-top:42px;padding-top:24px;border-top:1px solid var(--line);}.site-header a[aria-current=page]{text-decoration:underline;}.button:disabled{opacity:.6;cursor:wait;}
@media(max-width:760px){.hero h1{font-size:clamp(2.25rem,8.5vw,4rem);line-height:1.07;}.service-tabs button{grid-template-columns:1fr;}.tab-number{display:block;}.service-panel{gap:33px;}.service-summary h3 br{display:none;}.service-summary h3{font-size:2rem;}.service-summary h3,.service-summary .price{margin-inline:auto;}.approach>.button,.responsible>.button,.faq>.button{grid-column:1;}.responsible{padding-left:22px;}.home-contact>.button{justify-self:start;}.site-footer nav{gap:20px;}.contact-page,.legal-layout{grid-template-columns:1fr;gap:35px;}.contact-page{padding-block:35px 60px;}.page-intro{padding-block:48px 33px;}.legal-nav{display:flex;flex-wrap:wrap;gap:12px 22px;}.legal-layout{padding-block:10px 60px;}.contact-sidebar .small-contact-note{margin-top:20px;}}
@media(max-width:400px){.hero h1{font-size:2.05rem;letter-spacing:-.052em;}.wordmark img{width:103px;height:auto;}.wordmark .brand-description{display:block;white-space:nowrap;}.site-header{gap:14px;}.service-tabs button{font-size:1.1rem;}.tab-caption{font-size:.75rem;}}
@media(prefers-reduced-motion:reduce){}

/* Shared alignment and compact bottom cookie notice. */
.hero-bottom{flex-direction:column;align-items:center;text-align:center;gap:25px;margin-top:5px;}

.hero-bottom p{max-width:650px;}
.site-footer nav{align-items:center;}
.cookie-settings{font:inherit;line-height:1.5;color:inherit;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:5px;}
.cookie-banner{position:fixed;inset:auto 0 0;z-index:50;width:100%;max-height:45svh;overflow-y:auto;background:var(--ink);color:white;border-top:1px solid #666;box-shadow:0 -8px 24px #0002;padding:12px 24px max(12px,env(safe-area-inset-bottom));}
.cookie-inner{max-width:1344px;margin-inline:auto;display:flex;align-items:center;gap:22px;}
.cookie-copy{flex:1;min-width:0;display:flex;align-items:center;gap:14px;}
.cookie-copy h2{font-family:inherit;color:var(--accent);font-size:.75rem;font-weight:700;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;}
.cookie-copy p{font-size:.8125rem;line-height:1.55;color:#e8e8e5;}
.cookie-actions{display:flex;align-items:center;gap:18px;flex-shrink:0;font-size:.8125rem;}
.cookie-actions a{display:flex;align-items:center;min-height:44px;}
.cookie-actions button{min-height:44px;padding:9px 16px;background:var(--accent);color:var(--ink);border:1px solid var(--accent);font-weight:700;}
.cookie-actions button:hover{background:white;}
.cookie-close{display:grid;place-items:center;align-self:center;flex-shrink:0;width:44px;min-height:44px;border:1px solid #ffffff70;background:none;color:white;}
.cookie-close:hover{color:var(--accent);border-color:var(--accent);}
.cookie-banner :focus-visible{outline-color:var(--accent);box-shadow:none;outline-offset:3px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.contact-page>*{min-width:0;}.contact-form input,.contact-form textarea{min-width:0;}.service-detail,.legal-copy{min-width:0;overflow-wrap:break-word;}

@media(max-width:760px){
  .site-header nav{gap:12px;}.wordmark{gap:8px;}.wordmark img{width:112px;}.wordmark .brand-description{display:block;white-space:nowrap;}
  .hero-bottom{align-items:center;}.hero{padding-top:14px;}.headline-stage{padding-block:10px 24px;}.hero h1{line-height:1.12;}
  .site-footer{grid-template-columns:1fr;justify-items:center;text-align:center;gap:18px;padding-block:26px;}.site-footer nav{justify-content:center;gap:10px 22px;}.site-footer nav a,.cookie-settings{min-height:44px;display:inline-flex;align-items:center;}.copyright{grid-column:1;}
  .cookie-banner{padding-inline:20px;}.cookie-inner{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:8px 12px;}.cookie-copy{display:block;grid-column:1/-1;grid-row:1;}.cookie-close{grid-column:2;grid-row:2;align-self:end;}.cookie-actions{grid-column:1;grid-row:2;justify-content:space-between;flex-wrap:wrap;gap:6px 18px;}.cookie-copy p{font-size:.75rem;line-height:1.5;margin-top:4px;}.cookie-copy h2{font-size:.6875rem;}
}
@media(max-width:400px){.wordmark img{width:103px;}.site-header nav{gap:8px;}.service-tabs button{padding-inline:5px;font-size:1rem;}.service-tabs .tab-caption{font-size:.75rem;line-height:1.4;}.hero h1{font-size:clamp(1.85rem,8.2vw,2.05rem);}.cookie-banner{padding-inline:16px;}}

@media(max-width:760px){.wordmark{flex-direction:row;align-items:center;gap:12px;}.wordmark .brand-description{font-size:.75rem;line-height:1.4;white-space:nowrap;}}
@media(max-width:600px){.site-header nav>a:not(.nav-cta){display:none;}.site-header{gap:14px;}}

/* Keep the branding beside the tagline, aligned to the outer header gutter. */
.site-header.wrap{width:100%;padding-inline:clamp(20px,4vw,48px);}
.wordmark{flex-shrink:0;}


/* One mobile disclosure contains every navigation link and the contact CTA. */
.menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:0;border:1px solid var(--ink);background:var(--accent);color:var(--ink);border-radius:3px;appearance:none;-webkit-appearance:none;}
.menu-close-icon{display:none;}
.menu-toggle[aria-expanded=true] .menu-open-icon{display:none;}
.menu-toggle[aria-expanded=true] .menu-close-icon{display:block;}
.menu-toggle:hover,.menu-toggle:focus,.menu-toggle:active,.menu-toggle[aria-expanded=true]{background:var(--accent);color:var(--ink);}
@media(max-width:760px){
  .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px;padding-block:16px;}
  .wordmark{grid-column:1;grid-row:1;justify-self:start;flex-direction:row;align-items:center;gap:10px;}
  .menu-toggle{grid-column:2;grid-row:1;}
  .site-header.menu-ready .menu-toggle{display:inline-flex;}
  .site-header nav.header-nav{grid-column:1/-1;grid-row:2;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:4px;border:1px solid var(--ink);border-radius:3px;margin-top:16px;padding:12px;background:var(--accent);color:var(--ink);}
  .site-header.menu-ready nav.header-nav{display:none;}
  .site-header.menu-ready.menu-open nav.header-nav{display:flex;}
  .site-header nav.header-nav>a{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:44px;padding:10px 12px;font-size:1rem;}
  .site-header nav.header-nav>a.nav-cta{justify-content:center;min-height:48px;margin-top:8px;background:var(--ink);color:var(--accent);}.site-header nav.header-nav>a:hover{background:var(--ink);color:var(--accent);}.site-header nav.header-nav>a.nav-cta:hover{background:var(--paper);color:var(--ink);}.site-header nav.header-nav>a:focus-visible{outline-color:var(--ink);outline-offset:2px;box-shadow:none;}
}
@media(max-width:400px){.site-header{column-gap:10px;}.wordmark{gap:8px;}.wordmark img{width:88px;}.wordmark .brand-description{font-size:.6875rem;}}

/* Tactile editorial imagery and restrained section backgrounds. */
.intro-visual{grid-column:1/-1;margin:0;width:100%;border:1px solid var(--line);border-radius:4px;overflow:hidden;}
.intro-visual img{display:block;width:100%;height:clamp(300px,34vw,420px);object-fit:cover;object-position:50% 55%;}
.intro:has(.intro-visual){row-gap:38px;}
.examples{background-image:linear-gradient(#ffffff66,#ffffff66),url('/assets/aryv-paper-texture.webp');background-size:cover;background-position:center;}
.examples .sample{background:#fffffff0;border:1px solid var(--line);}
.home-contact{background-image:linear-gradient(#ffffff99,#ffffff99),url('/assets/aryv-paper-texture.webp');background-size:cover;background-position:center;border:1px solid var(--line);border-radius:4px;padding-inline:clamp(20px,4vw,48px);margin-bottom:56px;}
@media(max-width:760px){.intro-visual{margin-top:28px;}.intro-visual img{height:auto;aspect-ratio:3/2;object-fit:contain;}.home-contact{padding-block:36px;margin-bottom:36px;}.examples{background-position:50% 50%;}}

/* Refinements from the annotated copy and layout review. */
.hero-bottom p{max-width:100%;font-size:clamp(.875rem,1.5vw,1.125rem);}
.strip-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.strip-inner>span{display:flex;align-items:center;justify-content:center;gap:10px;}
.strip-inner>span::before{content:'';width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--accent);}
.intro{padding-block:44px;}
.intro:has(.intro-visual){row-gap:28px;}
.example-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;}
.example-tabs button{width:100%;min-width:0;min-height:48px;text-align:center;}
.example-description{padding-top:0;align-self:center;}
.approach-steps li{grid-template-columns:1fr;gap:0;}
.home-contact h2{text-wrap:balance;}
.site-footer{grid-template-columns:auto auto minmax(0,1fr) auto;gap:18px;}
.site-footer nav{justify-content:flex-end;flex-wrap:nowrap;gap:18px;}
.copyright{grid-column:auto;white-space:nowrap;}
@media(max-width:1000px){
  .site-footer{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;}
  .site-footer nav{flex-direction:column;align-items:center;gap:0;}
  .site-footer nav a,.site-footer .cookie-settings{display:inline-flex;align-items:center;justify-content:center;min-height:44px;}
  .copyright{white-space:normal;}
}
@media(max-width:760px){
  .hero-bottom p{font-size:1rem;}
  .strip-inner{grid-template-columns:1fr;gap:12px;}
  .strip-inner>span{justify-content:flex-start;}
  .intro{padding-block:32px;}
  .intro-visual{margin-top:24px;}
  .example-tabs{gap:8px;}
  .example-tabs button{padding:10px 6px;min-height:56px;font-size:.8125rem;white-space:normal;}
  .example-description{align-self:start;}
}

/* Keep the FAQ introduction above its full-width accordion. */
.faq{grid-template-columns:minmax(0,1fr);row-gap:28px;}
.faq>.button{grid-column:1;justify-self:start;}
.faq-list{min-width:0;width:100%;}

/* Align section introductions with their neighboring content. */
.faq-heading{text-align:center;}
.about>div{margin-top:0;align-items:center;}
.about-heading h2{margin-top:22px;}
@media(max-width:760px){.about>div{align-items:start;}}

/* Center each offering summary against its service details. */
.service-panel>.service-summary{align-self:center;}
@media(max-width:760px){.service-panel>.service-summary{align-self:start;}}

/* Place the responsible-use introduction above its stacked details. */
.responsible{grid-template-columns:minmax(0,1fr);}
.responsible-heading{text-align:center;}
.responsible>ul{width:100%;max-width:760px;justify-self:center;}
.responsible>.button{grid-column:1;justify-self:center;}

/* Carry the lime rail into About and mark responsible-use principles. */
.responsible{border-left:0;padding-left:0;}
.about{border-left:5px solid var(--accent);padding-left:30px;}
.responsible>ul>li{position:relative;padding-left:30px;}
.responsible>ul>li::before{content:"";position:absolute;left:3px;top:5px;width:8px;height:14px;border:solid var(--accent);border-width:0 3px 3px 0;transform:rotate(45deg);}
@media(max-width:760px){.about{padding-left:22px;}}

/* Let typography and spacing divide the homepage, except at Services. */
.home-page .site-header,.home-page .starting-strip,.home-page .site-footer,
.home-page .approach-steps li,.home-page .responsible,.home-page .about,
.home-page .faq,.home-page .faq-list details,.home-page .workflow li,
.home-page .intro-visual,.home-page .examples .sample,.home-page .home-contact,
.home-page .service-tabs,.home-page .care-row{border:0;}
.home-page .about{padding-left:0;}
.home-page .services{border-block:1px solid var(--line);}

/* Use the available desktop width with consistent outer gutters. */
@media(min-width:1024px){
 .wrap{width:calc(100% - 96px);max-width:none;}
 .home-page .responsible>ul,.home-page .example-description>p,
 .home-page .example-description .measure,.home-page .pricing-note,
 .home-page .services>.section-heading>p:last-child{max-width:none;}
 .home-page .hero h1{font-size:clamp(3rem,5.8vw,8rem);}
 .home-page .hero h1 .headline-line:not(.secondary-line){display:inline;}
 .home-page .hero h1 .headline-line:first-child{margin-right:.2em;}
}

/* Center supporting copy and strengthen the opening statements. */
.home-page .responsible>ul{text-align:center;}
.home-page .responsible>ul>li{padding-left:0;}
.home-page .responsible>ul>li::before{content:none;}
.home-page .responsible strong{display:flex;justify-content:center;align-items:baseline;gap:12px;}
.home-page .responsible strong::before{content:"";display:inline-block;flex-shrink:0;width:8px;height:14px;border:solid var(--accent);border-width:0 3px 3px 0;transform:rotate(45deg);}
.home-page .care-row{text-align:center;align-items:center;}
.home-page .care-row>div:last-child{justify-content:center;}
.home-page .strip-inner{font-size:clamp(1rem,1.25vw,1.375rem);font-weight:600;letter-spacing:.035em;padding-block:28px;}
.home-page .strip-inner>span{text-align:center;}
.home-page .strip-inner>span::before{width:8px;height:8px;}
@media(max-width:760px){.home-page .strip-inner{font-size:.9375rem;padding-block:24px;gap:18px;}.home-page .strip-inner>span{justify-content:center;}}

/* Mobile refinements: proportionate texture and clearer section rhythm. */
.home-page .about-heading h2{color:var(--ink);}
@media(max-width:760px){
 .home-page .examples{background-size:100% 100%,cover;background-repeat:no-repeat;background-position:center,center top;}
 .home-page .care-row{border-top:1px solid var(--accent);padding-top:28px;}
 .home-page .hero{padding-bottom:18px;}
 .home-page .strip-inner{padding-top:12px;}
 .home-page .hero h1{font-size:clamp(2rem,9.4vw,4rem);}
 .home-page .approach,.home-page .about{border-left:5px solid var(--accent);padding-left:20px;}
}

/* Match responsible-use points to the Approach subheading typography. */
.home-page .responsible strong{font-family:'Manrope',Arial,sans-serif;font-size:1.3rem;line-height:1.25;letter-spacing:-.035em;font-weight:600;}

/* A hand-drawn marker pass rises across the black headline. */
.hero h1 .secondary-line::before{content:"";position:absolute;inset:.13em -.18em -.37em;z-index:-1;background:var(--accent);-webkit-mask:url("/assets/aryv-marker.svg") center/100% 100% no-repeat;mask:url("/assets/aryv-marker.svg") center/100% 100% no-repeat;}
@media(prefers-reduced-motion:no-preference){.hero h1 .secondary-line::before{animation:marker-sweep 1.15s cubic-bezier(.25,.1,.25,1) 1s both;}}
@keyframes marker-sweep{from{clip-path:inset(0 100% 0 0);}to{clip-path:inset(0 0 0 0);}}

/* Balance the hero CTA and keep the Approach rail across screen sizes. */
@media(min-width:761px){
 .home-page .hero{padding-bottom:10px;}
 .home-page .strip-inner{padding-top:25px;}
 .home-page .approach,.home-page .about{border-left:5px solid var(--accent);padding-left:30px;}
}
@media(max-width:760px){.home-page .hero{padding-bottom:13px;}}

/* Continue the lime rail around Responsible Use into About. */
.home-page .responsible{border:5px solid var(--accent);border-left:0;padding-inline:30px;}
@media(max-width:760px){.home-page .responsible{padding-inline:20px;}}

/* The FAQ border follows its natural height as answers expand. */
.home-page .faq{border:5px solid var(--accent);border-left:0;padding-inline:30px;height:auto;}
@media(max-width:760px){.home-page .faq{padding-inline:20px;}}

/* Open the FAQ into a full-width contact image. */
.home-page .faq{border-bottom:0;}
.home-page .home-contact{width:100%;max-width:none;margin-inline:0;border-radius:0;padding-inline:48px;background-repeat:no-repeat;}
@media(max-width:760px){.home-page .home-contact{padding-inline:20px;}}

/* Keep the support divider consistent at every viewport width. */
.home-page .care-row{border-top:1px solid var(--accent);}

/* Give the main starting-point CTA a wider footprint. */
.home-page .hero-bottom>.button{width:min(100%,320px);padding-inline:32px;}
@media(min-width:1024px){.home-page .hero-bottom>.button{width:clamp(320px,18vw,440px);max-width:100%;}}

/* Center the intro heading alongside the neighboring copy. */
@media(min-width:761px){.home-page .intro>div:first-child{align-self:center;}}

/* Let the intro photograph reach both page edges while retaining text gutters. */
.home-page .intro{--intro-gutter:48px;width:100%;max-width:none;margin-inline:0;padding-inline:var(--intro-gutter);}
.home-page .intro-visual{width:calc(100% + var(--intro-gutter) * 2);margin-inline:calc(-1 * var(--intro-gutter));border-radius:0;}
@media(max-width:760px){.home-page .intro{--intro-gutter:20px;}}

/* Place the intro invitation directly beneath the left-column heading. */
.home-page .intro>div:first-child>.button{margin-top:24px;}

/* Center both intro text columns on the same vertical axis. */
@media(min-width:761px){.home-page .intro>.intro-copy{align-self:center;}}
