/*
Theme Name: Behnam Khodarahmi
Theme URI: https://behnamkhodarahmi.com/
Author: Behnam Khodarahmi
Author URI: https://behnamkhodarahmi.com/
Description: The official website of Behnam Khodarahmi.
Version: 6.0.1
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: behnam-khodarahmi
*/
:root{
  --white:#fff;
  --pale:#f7f7f7;
  --pale-deep:#f3f3f3;
  --ink:#303030;
  --muted:#696969;
  --line:#e5e5e5;
}
@font-face{font-family:"Dancing Script";src:url("./fonts/DancingScript.ttf") format("truetype");font-style:normal;font-weight:400 700;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--pale)}
body{margin:0;min-height:100vh;min-height:100svh;min-height:100dvh;display:flex;flex-direction:column;background:var(--white);color:var(--ink);font-family:"Times New Roman",Times,"Liberation Serif",serif;-webkit-font-smoothing:antialiased}
body[data-page="home"]{background:var(--pale)}
main{flex:1 0 auto}
a{color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible{outline:2px solid #777;outline-offset:4px}
::selection{background:#e7e7e7;color:#222}
.skip-link{position:absolute;left:16px;top:-60px;z-index:10;padding:10px 14px;background:#fff;border:1px solid var(--line)}
.skip-link:focus{top:12px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.intro-screen{display:none;position:fixed;inset:0;z-index:2147483647;background:#fff;color:#303030;place-items:center;padding:24px;text-align:center}
.intro-message{display:flex;flex-direction:column;align-items:stretch;width:min(100%,15.8em);gap:clamp(28px,3.5vw,40px);font-family:"Dancing Script",cursive;font-size:clamp(26px,3.4vw,40px);font-weight:400;line-height:1.35;letter-spacing:0;opacity:1;transition:opacity .9s ease}
.intro-row{display:flex;justify-content:flex-start;width:100%;min-width:0}
.intro-row-end{justify-content:flex-end}
.intro-line{position:relative;display:inline-block;max-width:100%;text-align:left}
.intro-measure{visibility:hidden}
.intro-typed{position:absolute;top:0;left:0;width:100%}
.intro-typed.is-active::after{content:"";display:inline-block;height:.85em;margin-left:.12em;border-right:1px solid currentColor;vertical-align:-.08em;animation:intro-cursor .8s steps(1,end) infinite}
html.intro-pending .intro-screen{display:grid}
html.intro-pending body[data-page="home"] > main,html.intro-pending body[data-page="home"] > footer{visibility:hidden}
html.intro-fading .intro-message{opacity:0}
@keyframes intro-cursor{50%{opacity:0}}

.home-main{padding:26px 24px 22px;min-height:70vh;background:var(--white)}
.portrait{overflow:hidden;flex:none}
.portrait img{display:block;width:100%;height:100%;object-fit:cover}
.portrait-main{width:min(100%,440px);aspect-ratio:1;margin:0 auto}
.under-photo-nav{display:flex;align-items:center;gap:30px}
.under-photo-nav{width:min(100%,440px);margin:25px auto 0}
.under-photo-nav a{font-size:13px;color:#595959;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:6px;text-decoration-thickness:1px;transition:color .15s,text-decoration-color .15s}
.under-photo-nav a:hover,.under-photo-nav a[aria-current]{color:#222;text-decoration-color:#9f9f9f}
.biography{max-width:700px;margin:41px auto 0;font-size:18px;line-height:1.75;letter-spacing:.002em}
.biography p{margin:0 0 24px}
@media(min-width:701px){
  .home-main .portrait-main,.home-main .under-photo-nav{margin-left:max(0px,calc((100% - 700px)/2));margin-right:0}
}
.biography-more{margin-top:24px}
.biography-more summary{list-style:none;display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-width:160px;padding:12px 16px 12px 20px;border:1px solid #d2d2d2;border-radius:999px;background:#fafafa;color:#444;font-size:12px;font-weight:600;letter-spacing:.075em;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.biography-more summary::-webkit-details-marker{display:none}
.biography-more summary:hover{background:#ededed;border-color:#bdbdbd;transform:translateY(-1px)}
.read-chevron{width:16px;height:16px;flex:none;transition:transform .2s}
.read-less-label,.biography-more[open] .read-more-label{display:none}
.biography-more[open] .read-less-label{display:inline}
.biography-more[open] .read-chevron{transform:rotate(180deg)}
.biography-rest{padding-top:34px}
.biography-rest p:last-of-type{margin-bottom:0}
.inline-link{display:inline;text-decoration:underline;text-decoration-color:#9d9d9d;text-decoration-thickness:1px;text-underline-offset:4px;transition:text-decoration-color .15s,color .15s}
.inline-link:hover{color:#111;text-decoration-color:#222}
.link-mark{display:inline-block;margin-left:3px;font-size:.66em;vertical-align:super;line-height:0;text-decoration:none}
.contact-links{max-width:700px;margin:56px auto 0;padding-top:30px;border-top:1px solid var(--line);display:flex;justify-content:center;align-items:flex-start;gap:clamp(30px,6vw,72px)}
.contact-links a{display:flex;align-items:center;justify-content:center;width:52px;height:52px;color:#555;transition:color .15s}
.social-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid #e2e2e2;border-radius:50%;background:var(--pale);transition:background .15s,border-color .15s,transform .15s}
.contact-links a:hover{color:#181818}
.contact-links a:hover .social-icon{background:#eaeaea;border-color:#c5c5c5;transform:translateY(-2px)}
.contact-links svg{width:20px;height:20px}

body[data-page="doctrine"]{background:var(--pale)}
.doctrine-main{width:100%;max-width:900px;margin:0 auto;padding:48px 28px 88px}
.doctrine-intro{display:flex;align-items:center;gap:27px;margin-bottom:40px;padding:0 4px}
.portrait-small{width:92px;aspect-ratio:1;border-radius:50%;background:transparent}
.doctrine-intro h1{font-size:29px;line-height:1.2;font-weight:600;letter-spacing:-.02em;margin:0 0 8px}
.doctrine-intro p{font-size:15px;line-height:1.5;color:var(--muted);margin:0}
.doctrine-text{font-size:17px;line-height:1.77}
.doctrine-text section{margin:0 0 13px;padding:30px 35px 32px;background:var(--white);border:1px solid var(--line)}
.doctrine-text h2{font-size:18px;line-height:1.35;font-weight:600;margin:0 0 19px;padding-bottom:14px;border-bottom:1px solid #ebebeb;letter-spacing:-.01em}
.doctrine-text p{margin:0 0 17px}
.doctrine-text section p:last-child{margin-bottom:0}
.doctrine-text .signature{background:var(--white);border:1px solid var(--line);padding:28px 35px;margin:27px 0 0;font-size:18px}
.signature span{color:var(--muted);font-size:15px}

.contact-main{background:var(--pale);min-height:58vh;padding:72px 28px 110px}
.contact-panel{max-width:700px;margin:0 auto}
.contact-panel h1{font-size:45px;font-weight:500;letter-spacing:-.035em;margin:0 0 28px}
.contact-panel p{font-size:19px;line-height:1.65;max-width:550px;color:#565656;margin:0 0 44px}
.email-link{font-size:clamp(20px,3vw,30px);letter-spacing:-.025em;display:inline-flex;align-items:baseline;gap:15px;padding-bottom:9px;border-bottom:1px solid #b1b1b1;overflow-wrap:anywhere;transition:border-color .15s,color .15s}
.email-link span{font-size:.7em;flex:none}
.email-link:hover{color:#111;border-color:#333}
.site-footer{background:var(--pale);border-top:1px solid var(--line);padding:23px 24px 20px;color:#777}
.footer-nav{max-width:1120px;margin:0 auto 15px;display:flex;justify-content:center;align-items:center;gap:35px}
.footer-nav a{font-size:12px;color:#555;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:color .15s,text-decoration-color .15s}
.footer-nav a:hover{color:#111;text-decoration-color:#777}
.site-footer small{display:block;max-width:1120px;margin:0 auto;text-align:center;color:#666;font-size:11px}
.generic-page{width:100%;max-width:840px;margin:0 auto;padding:76px 28px 105px;min-height:55vh}
.generic-page h1{font-size:30px;font-weight:600}
.wp-editor-content{font-size:17px;line-height:1.77}
.wp-editor-content a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){
  .home-main{padding:20px 20px 18px}
  .portrait-main{width:min(100%,390px)}
  .under-photo-nav{width:min(100%,390px);margin-top:22px}
  .biography{margin-top:36px;font-size:17px;line-height:1.72}
  .doctrine-main{padding:28px 20px 68px}
  .doctrine-intro{gap:18px;margin-bottom:30px;padding:0 2px}
  .portrait-small{width:76px}
  .doctrine-intro h1{font-size:24px}
  .doctrine-intro p{font-size:14px}
  .doctrine-text{font-size:16px}
  .doctrine-text section{padding:24px 25px 26px}
  .doctrine-text h2{font-size:17px}
  .doctrine-text .signature{padding:24px 25px}
  .contact-main{padding:45px 24px 95px}
  .contact-panel h1{font-size:38px}
  .contact-panel p{font-size:17px}
  .site-footer{padding:21px 20px 19px}
}
@media(max-width:430px){
  .doctrine-intro h1{font-size:21px}
  .portrait-small{width:68px}
  .doctrine-intro{gap:14px}
  .doctrine-text section{padding:22px 20px 24px}
  .contact-links{gap:25px;margin-top:48px}
  .contact-links a,.social-icon{width:48px;height:48px}
  .email-link{font-size:19px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}

.wp-block-details.biography-more{margin-top:24px}
.wp-block-details.biography-more summary{position:relative;padding-right:48px}
.wp-block-details.biography-more summary::after{content:"";position:absolute;right:19px;top:50%;width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.wp-block-details.biography-more[open] summary::after{transform:translateY(-25%) rotate(225deg)}
.wp-block-details.biography-more > p:first-of-type{margin-top:34px}
.wp-block-details.biography-more > p:last-of-type{margin-bottom:0}
.wp-block-details.biography-more > p a::after{content:"↗";display:inline-block;margin-left:3px;font-size:.66em;vertical-align:super;line-height:0;text-decoration:none}
.doctrine-text .doctrine-section{margin:0 0 13px;padding:30px 35px 32px;background:var(--white);border:1px solid var(--line)}
.doctrine-text .doctrine-section h2{font-size:18px;line-height:1.35;font-weight:600;margin:0 0 19px;padding-bottom:14px;border-bottom:1px solid #ebebeb;letter-spacing:-.01em}
.doctrine-text .doctrine-section p{margin:0 0 17px}
.doctrine-text .doctrine-section p:last-child{margin-bottom:0}
.contact-panel .contact-email{margin:0;max-width:none;color:var(--ink)}
.contact-panel .contact-email a{font-size:clamp(20px,3vw,30px);letter-spacing:-.025em;display:inline-flex;align-items:baseline;gap:15px;max-width:100%;padding-bottom:9px;border-bottom:1px solid #b1b1b1;overflow-wrap:anywhere;transition:border-color .15s,color .15s}
.contact-panel .contact-email a::after{content:"↗";font-size:.7em;flex:none}
.contact-panel .contact-email a:hover{color:#111;border-color:#333}
@media(max-width:700px){.doctrine-text .doctrine-section{padding:24px 25px 26px}.doctrine-text .doctrine-section h2{font-size:17px}}
@media(max-width:430px){.doctrine-text .doctrine-section{padding:22px 20px 24px}.contact-panel .contact-email a{font-size:19px}}
